/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/loops-crafted-1/theatreSquare.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 10:31:02,177 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 10:31:02,213 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 10:31:02,250 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 10:31:02,250 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 10:31:02,251 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 10:31:02,253 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 10:31:02,255 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 10:31:02,256 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 10:31:02,259 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 10:31:02,263 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 10:31:02,264 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 10:31:02,264 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 10:31:02,264 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 10:31:02,265 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 10:31:02,265 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 10:31:02,266 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 10:31:02,266 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 10:31:02,267 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 10:31:02,271 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 10:31:02,272 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 10:31:02,273 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 10:31:02,273 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 10:31:02,274 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 10:31:02,275 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 10:31:02,279 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 10:31:02,279 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 10:31:02,280 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 10:31:02,280 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 10:31:02,280 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 10:31:02,281 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 10:31:02,281 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 10:31:02,282 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 10:31:02,283 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 10:31:02,283 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 10:31:02,284 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 10:31:02,284 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 10:31:02,284 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 10:31:02,284 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 10:31:02,284 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 10:31:02,285 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 10:31:02,286 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 10:31:02,286 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 10:31:02,295 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 10:31:02,295 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 10:31:02,296 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 10:31:02,296 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 10:31:02,296 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 10:31:02,296 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 10:31:02,296 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 10:31:02,297 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 10:31:02,297 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 10:31:02,297 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 10:31:02,297 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 10:31:02,297 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 10:31:02,297 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:31:02,298 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 10:31:02,298 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 10:31:02,490 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 10:31:02,508 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 10:31:02,509 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 10:31:02,510 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 10:31:02,510 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 10:31:02,511 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops-crafted-1/theatreSquare.c [2022-04-28 10:31:02,562 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2c899c75c/d46fee73722e45a58137580998f89d8d/FLAGe7e84d786 [2022-04-28 10:31:02,928 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 10:31:02,929 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/theatreSquare.c [2022-04-28 10:31:02,939 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2c899c75c/d46fee73722e45a58137580998f89d8d/FLAGe7e84d786 [2022-04-28 10:31:02,950 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2c899c75c/d46fee73722e45a58137580998f89d8d [2022-04-28 10:31:02,953 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 10:31:02,954 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 10:31:02,956 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 10:31:02,956 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 10:31:02,958 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 10:31:02,959 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:31:02" (1/1) ... [2022-04-28 10:31:02,960 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d3dcf55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:02, skipping insertion in model container [2022-04-28 10:31:02,960 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:31:02" (1/1) ... [2022-04-28 10:31:02,964 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 10:31:02,979 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 10:31:03,097 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/theatreSquare.c[370,383] [2022-04-28 10:31:03,112 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:31:03,117 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 10:31:03,124 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/theatreSquare.c[370,383] [2022-04-28 10:31:03,130 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:31:03,138 INFO L208 MainTranslator]: Completed translation [2022-04-28 10:31:03,139 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03 WrapperNode [2022-04-28 10:31:03,139 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 10:31:03,142 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 10:31:03,142 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 10:31:03,142 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 10:31:03,148 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,149 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,155 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,155 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,170 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,174 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,174 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,176 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 10:31:03,176 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 10:31:03,176 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 10:31:03,177 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 10:31:03,178 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (1/1) ... [2022-04-28 10:31:03,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:31:03,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:03,198 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 10:31:03,207 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure correct_version [2022-04-28 10:31:03,221 INFO L138 BoogieDeclarations]: Found implementation of procedure student_version [2022-04-28 10:31:03,222 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure correct_version [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure student_version [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 10:31:03,222 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 10:31:03,223 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 10:31:03,223 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 10:31:03,273 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 10:31:03,274 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 10:31:03,468 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 10:31:03,472 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 10:31:03,473 INFO L299 CfgBuilder]: Removed 6 assume(true) statements. [2022-04-28 10:31:03,474 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:31:03 BoogieIcfgContainer [2022-04-28 10:31:03,474 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 10:31:03,475 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 10:31:03,475 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 10:31:03,482 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 10:31:03,482 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 10:31:02" (1/3) ... [2022-04-28 10:31:03,482 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7e0cb350 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:31:03, skipping insertion in model container [2022-04-28 10:31:03,483 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:31:03" (2/3) ... [2022-04-28 10:31:03,483 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7e0cb350 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:31:03, skipping insertion in model container [2022-04-28 10:31:03,483 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:31:03" (3/3) ... [2022-04-28 10:31:03,484 INFO L111 eAbstractionObserver]: Analyzing ICFG theatreSquare.c [2022-04-28 10:31:03,493 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 10:31:03,493 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 10:31:03,519 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 10:31:03,525 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@282b116, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6b78db40 [2022-04-28 10:31:03,525 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 10:31:03,542 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 27 states have (on average 1.5555555555555556) internal successors, (42), 28 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 10:31:03,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-28 10:31:03,546 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:03,546 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:03,547 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:03,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:03,550 INFO L85 PathProgramCache]: Analyzing trace with hash 1554304209, now seen corresponding path program 1 times [2022-04-28 10:31:03,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:03,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [548123992] [2022-04-28 10:31:03,573 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:31:03,574 INFO L85 PathProgramCache]: Analyzing trace with hash 1554304209, now seen corresponding path program 2 times [2022-04-28 10:31:03,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:03,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144036631] [2022-04-28 10:31:03,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:03,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:03,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:03,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:03,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:03,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-28 10:31:03,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 10:31:03,805 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-28 10:31:03,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:03,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-28 10:31:03,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 10:31:03,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-28 10:31:03,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret10 := main(); {42#true} is VALID [2022-04-28 10:31:03,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {47#(= main_~n_stones2~0 main_~n_stones1~0)} is VALID [2022-04-28 10:31:03,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {47#(= main_~n_stones2~0 main_~n_stones1~0)} assume !(((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109); {47#(= main_~n_stones2~0 main_~n_stones1~0)} is VALID [2022-04-28 10:31:03,811 INFO L272 TraceCheckUtils]: 7: Hoare triple {47#(= main_~n_stones2~0 main_~n_stones1~0)} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {48#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:03,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {48#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {49#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:03,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {49#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43#false} is VALID [2022-04-28 10:31:03,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 10:31:03,813 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:31:03,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:03,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1144036631] [2022-04-28 10:31:03,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1144036631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:03,815 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:03,815 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:03,819 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:03,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [548123992] [2022-04-28 10:31:03,820 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [548123992] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:03,820 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:03,820 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:03,820 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788810556] [2022-04-28 10:31:03,821 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:03,824 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-28 10:31:03,825 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:03,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 10:31:03,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:03,846 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:03,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:03,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:03,863 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:03,866 INFO L87 Difference]: Start difference. First operand has 39 states, 27 states have (on average 1.5555555555555556) internal successors, (42), 28 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 10:31:04,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:04,223 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 10:31:04,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:31:04,223 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-04-28 10:31:04,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:04,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 10:31:04,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-28 10:31:04,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 10:31:04,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-28 10:31:04,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 103 transitions. [2022-04-28 10:31:04,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:04,322 INFO L225 Difference]: With dead ends: 76 [2022-04-28 10:31:04,323 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 10:31:04,326 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:31:04,329 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 46 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:04,331 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 61 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:04,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 10:31:04,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 10:31:04,357 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:04,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:04,359 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:04,359 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:04,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:04,366 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-28 10:31:04,366 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-28 10:31:04,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:04,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:04,367 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 32 states. [2022-04-28 10:31:04,368 INFO L87 Difference]: Start difference. First operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 32 states. [2022-04-28 10:31:04,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:04,371 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-28 10:31:04,371 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-28 10:31:04,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:04,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:04,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:04,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:04,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:04,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2022-04-28 10:31:04,375 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 11 [2022-04-28 10:31:04,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:04,376 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2022-04-28 10:31:04,376 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 10:31:04,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 37 transitions. [2022-04-28 10:31:04,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:04,409 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-28 10:31:04,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-28 10:31:04,410 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:04,410 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:04,410 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 10:31:04,411 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:04,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:04,411 INFO L85 PathProgramCache]: Analyzing trace with hash 362112746, now seen corresponding path program 1 times [2022-04-28 10:31:04,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:04,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2146174794] [2022-04-28 10:31:04,412 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:31:04,412 INFO L85 PathProgramCache]: Analyzing trace with hash 362112746, now seen corresponding path program 2 times [2022-04-28 10:31:04,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:04,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1516447801] [2022-04-28 10:31:04,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:04,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:04,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:04,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:04,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:04,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {368#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {341#true} is VALID [2022-04-28 10:31:04,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume true; {341#true} is VALID [2022-04-28 10:31:04,516 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {341#true} {341#true} #117#return; {341#true} is VALID [2022-04-28 10:31:04,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:04,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:04,560 INFO L290 TraceCheckUtils]: 0: Hoare triple {341#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {341#true} is VALID [2022-04-28 10:31:04,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume !(~b~0 < ~n); {341#true} is VALID [2022-04-28 10:31:04,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume !(~l~0 < ~m); {341#true} is VALID [2022-04-28 10:31:04,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {341#true} ~x~0 := 0;~y~0 := 0; {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-28 10:31:04,563 INFO L290 TraceCheckUtils]: 4: Hoare triple {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} assume !(~x~0 < ~i~0); {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-28 10:31:04,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} #res := ~y~0; {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-28 10:31:04,564 INFO L290 TraceCheckUtils]: 6: Hoare triple {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} assume true; {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-28 10:31:04,565 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} {341#true} #111#return; {354#(= |main_#t~ret8| 0)} is VALID [2022-04-28 10:31:04,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:31:04,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:04,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {341#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {341#true} is VALID [2022-04-28 10:31:04,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume !(~b~1 < ~n); {341#true} is VALID [2022-04-28 10:31:04,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume !(~l~1 < ~m); {341#true} is VALID [2022-04-28 10:31:04,624 INFO L290 TraceCheckUtils]: 3: Hoare triple {341#true} ~x~1 := 0;~y~1 := 0; {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-28 10:31:04,624 INFO L290 TraceCheckUtils]: 4: Hoare triple {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} assume !(~x~1 < ~i~1); {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-28 10:31:04,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} #res := ~y~1; {372#(= |student_version_#res| 0)} is VALID [2022-04-28 10:31:04,625 INFO L290 TraceCheckUtils]: 6: Hoare triple {372#(= |student_version_#res| 0)} assume true; {372#(= |student_version_#res| 0)} is VALID [2022-04-28 10:31:04,626 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {372#(= |student_version_#res| 0)} {355#(= main_~n_stones1~0 0)} #113#return; {364#(= main_~n_stones1~0 |main_#t~ret9|)} is VALID [2022-04-28 10:31:04,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {341#true} call ULTIMATE.init(); {368#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:04,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {368#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {341#true} is VALID [2022-04-28 10:31:04,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume true; {341#true} is VALID [2022-04-28 10:31:04,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {341#true} {341#true} #117#return; {341#true} is VALID [2022-04-28 10:31:04,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {341#true} call #t~ret10 := main(); {341#true} is VALID [2022-04-28 10:31:04,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {341#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {341#true} is VALID [2022-04-28 10:31:04,628 INFO L290 TraceCheckUtils]: 6: Hoare triple {341#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {341#true} is VALID [2022-04-28 10:31:04,628 INFO L272 TraceCheckUtils]: 7: Hoare triple {341#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {341#true} is VALID [2022-04-28 10:31:04,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {341#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {341#true} is VALID [2022-04-28 10:31:04,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {341#true} assume !(~b~0 < ~n); {341#true} is VALID [2022-04-28 10:31:04,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {341#true} assume !(~l~0 < ~m); {341#true} is VALID [2022-04-28 10:31:04,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {341#true} ~x~0 := 0;~y~0 := 0; {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-28 10:31:04,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} assume !(~x~0 < ~i~0); {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-28 10:31:04,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {369#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} #res := ~y~0; {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-28 10:31:04,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} assume true; {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-28 10:31:04,634 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {370#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} {341#true} #111#return; {354#(= |main_#t~ret8| 0)} is VALID [2022-04-28 10:31:04,635 INFO L290 TraceCheckUtils]: 16: Hoare triple {354#(= |main_#t~ret8| 0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {355#(= main_~n_stones1~0 0)} is VALID [2022-04-28 10:31:04,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {355#(= main_~n_stones1~0 0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {341#true} is VALID [2022-04-28 10:31:04,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {341#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {341#true} is VALID [2022-04-28 10:31:04,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {341#true} assume !(~b~1 < ~n); {341#true} is VALID [2022-04-28 10:31:04,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {341#true} assume !(~l~1 < ~m); {341#true} is VALID [2022-04-28 10:31:04,638 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#true} ~x~1 := 0;~y~1 := 0; {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-28 10:31:04,639 INFO L290 TraceCheckUtils]: 22: Hoare triple {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} assume !(~x~1 < ~i~1); {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-28 10:31:04,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {371#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} #res := ~y~1; {372#(= |student_version_#res| 0)} is VALID [2022-04-28 10:31:04,641 INFO L290 TraceCheckUtils]: 24: Hoare triple {372#(= |student_version_#res| 0)} assume true; {372#(= |student_version_#res| 0)} is VALID [2022-04-28 10:31:04,642 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {372#(= |student_version_#res| 0)} {355#(= main_~n_stones1~0 0)} #113#return; {364#(= main_~n_stones1~0 |main_#t~ret9|)} is VALID [2022-04-28 10:31:04,642 INFO L290 TraceCheckUtils]: 26: Hoare triple {364#(= main_~n_stones1~0 |main_#t~ret9|)} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {365#(= main_~n_stones2~0 main_~n_stones1~0)} is VALID [2022-04-28 10:31:04,643 INFO L272 TraceCheckUtils]: 27: Hoare triple {365#(= main_~n_stones2~0 main_~n_stones1~0)} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {366#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:04,644 INFO L290 TraceCheckUtils]: 28: Hoare triple {366#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {367#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:04,644 INFO L290 TraceCheckUtils]: 29: Hoare triple {367#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {342#false} is VALID [2022-04-28 10:31:04,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {342#false} assume !false; {342#false} is VALID [2022-04-28 10:31:04,644 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:31:04,645 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:04,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1516447801] [2022-04-28 10:31:04,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1516447801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:04,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:04,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:04,645 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:04,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2146174794] [2022-04-28 10:31:04,646 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2146174794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:04,646 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:04,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:04,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1950285763] [2022-04-28 10:31:04,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:04,647 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-04-28 10:31:04,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:04,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:04,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:04,672 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:31:04,672 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:04,673 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:31:04,673 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:31:04,673 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:05,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,338 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-04-28 10:31:05,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 10:31:05,340 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-04-28 10:31:05,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:05,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:05,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-28 10:31:05,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:05,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-28 10:31:05,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 58 transitions. [2022-04-28 10:31:05,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:05,411 INFO L225 Difference]: With dead ends: 50 [2022-04-28 10:31:05,411 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 10:31:05,412 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-28 10:31:05,412 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 42 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 335 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 335 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:05,413 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 80 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 335 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:31:05,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 10:31:05,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2022-04-28 10:31:05,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:05,427 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,427 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,427 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,429 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-28 10:31:05,430 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-28 10:31:05,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:05,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:05,430 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 44 states. [2022-04-28 10:31:05,430 INFO L87 Difference]: Start difference. First operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 44 states. [2022-04-28 10:31:05,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,432 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-28 10:31:05,435 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-28 10:31:05,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:05,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:05,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:05,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:05,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 32 states have internal predecessors, (38), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-28 10:31:05,437 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 31 [2022-04-28 10:31:05,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:05,437 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-28 10:31:05,437 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:05,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-28 10:31:05,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:05,471 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-28 10:31:05,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 10:31:05,478 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:05,478 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:05,478 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 10:31:05,480 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:05,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:05,481 INFO L85 PathProgramCache]: Analyzing trace with hash -310269904, now seen corresponding path program 1 times [2022-04-28 10:31:05,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:05,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1387829396] [2022-04-28 10:31:05,492 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:05,492 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:05,492 INFO L85 PathProgramCache]: Analyzing trace with hash -310269904, now seen corresponding path program 2 times [2022-04-28 10:31:05,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:05,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [443213299] [2022-04-28 10:31:05,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:05,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:05,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,553 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:05,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {692#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {670#true} is VALID [2022-04-28 10:31:05,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-28 10:31:05,561 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {670#true} {670#true} #117#return; {670#true} is VALID [2022-04-28 10:31:05,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:05,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {670#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {670#true} is VALID [2022-04-28 10:31:05,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {670#true} assume !(~b~0 < ~n); {670#true} is VALID [2022-04-28 10:31:05,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {670#true} assume !(~l~0 < ~m); {670#true} is VALID [2022-04-28 10:31:05,571 INFO L290 TraceCheckUtils]: 3: Hoare triple {670#true} ~x~0 := 0;~y~0 := 0; {670#true} is VALID [2022-04-28 10:31:05,571 INFO L290 TraceCheckUtils]: 4: Hoare triple {670#true} assume !(~x~0 < ~i~0); {670#true} is VALID [2022-04-28 10:31:05,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {670#true} #res := ~y~0; {670#true} is VALID [2022-04-28 10:31:05,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-28 10:31:05,572 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {670#true} {670#true} #111#return; {670#true} is VALID [2022-04-28 10:31:05,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:31:05,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {670#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {693#(<= student_version_~i~1 0)} assume !(~b~1 < ~n); {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {693#(<= student_version_~i~1 0)} assume !(~l~1 < ~m); {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,600 INFO L290 TraceCheckUtils]: 3: Hoare triple {693#(<= student_version_~i~1 0)} ~x~1 := 0;~y~1 := 0; {694#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:31:05,601 INFO L290 TraceCheckUtils]: 4: Hoare triple {694#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {671#false} is VALID [2022-04-28 10:31:05,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {671#false} assume !(~x~1 < ~i~1); {671#false} is VALID [2022-04-28 10:31:05,601 INFO L290 TraceCheckUtils]: 6: Hoare triple {671#false} #res := ~y~1; {671#false} is VALID [2022-04-28 10:31:05,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {671#false} assume true; {671#false} is VALID [2022-04-28 10:31:05,602 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {671#false} {670#true} #113#return; {671#false} is VALID [2022-04-28 10:31:05,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {670#true} call ULTIMATE.init(); {692#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:05,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {692#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {670#true} is VALID [2022-04-28 10:31:05,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-28 10:31:05,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {670#true} {670#true} #117#return; {670#true} is VALID [2022-04-28 10:31:05,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {670#true} call #t~ret10 := main(); {670#true} is VALID [2022-04-28 10:31:05,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {670#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {670#true} is VALID [2022-04-28 10:31:05,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {670#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {670#true} is VALID [2022-04-28 10:31:05,604 INFO L272 TraceCheckUtils]: 7: Hoare triple {670#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {670#true} is VALID [2022-04-28 10:31:05,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {670#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {670#true} is VALID [2022-04-28 10:31:05,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {670#true} assume !(~b~0 < ~n); {670#true} is VALID [2022-04-28 10:31:05,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {670#true} assume !(~l~0 < ~m); {670#true} is VALID [2022-04-28 10:31:05,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {670#true} ~x~0 := 0;~y~0 := 0; {670#true} is VALID [2022-04-28 10:31:05,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {670#true} assume !(~x~0 < ~i~0); {670#true} is VALID [2022-04-28 10:31:05,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {670#true} #res := ~y~0; {670#true} is VALID [2022-04-28 10:31:05,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-28 10:31:05,605 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {670#true} {670#true} #111#return; {670#true} is VALID [2022-04-28 10:31:05,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {670#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {670#true} is VALID [2022-04-28 10:31:05,605 INFO L272 TraceCheckUtils]: 17: Hoare triple {670#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {670#true} is VALID [2022-04-28 10:31:05,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {670#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {693#(<= student_version_~i~1 0)} assume !(~b~1 < ~n); {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {693#(<= student_version_~i~1 0)} assume !(~l~1 < ~m); {693#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:05,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {693#(<= student_version_~i~1 0)} ~x~1 := 0;~y~1 := 0; {694#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:31:05,620 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {671#false} is VALID [2022-04-28 10:31:05,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {671#false} assume !(~x~1 < ~i~1); {671#false} is VALID [2022-04-28 10:31:05,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {671#false} #res := ~y~1; {671#false} is VALID [2022-04-28 10:31:05,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {671#false} assume true; {671#false} is VALID [2022-04-28 10:31:05,621 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {671#false} {670#true} #113#return; {671#false} is VALID [2022-04-28 10:31:05,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {671#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {671#false} is VALID [2022-04-28 10:31:05,621 INFO L272 TraceCheckUtils]: 28: Hoare triple {671#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {671#false} is VALID [2022-04-28 10:31:05,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {671#false} ~cond := #in~cond; {671#false} is VALID [2022-04-28 10:31:05,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {671#false} assume 0 == ~cond; {671#false} is VALID [2022-04-28 10:31:05,623 INFO L290 TraceCheckUtils]: 31: Hoare triple {671#false} assume !false; {671#false} is VALID [2022-04-28 10:31:05,623 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:31:05,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:05,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [443213299] [2022-04-28 10:31:05,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [443213299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:05,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:05,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:31:05,624 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:05,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1387829396] [2022-04-28 10:31:05,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1387829396] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:05,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:05,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:31:05,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [970534998] [2022-04-28 10:31:05,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:05,625 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 32 [2022-04-28 10:31:05,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:05,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:05,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:05,643 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:31:05,643 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:05,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:31:05,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:31:05,644 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:05,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,812 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2022-04-28 10:31:05,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:05,812 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 32 [2022-04-28 10:31:05,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:05,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:05,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-28 10:31:05,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:05,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-28 10:31:05,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2022-04-28 10:31:05,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:05,857 INFO L225 Difference]: With dead ends: 59 [2022-04-28 10:31:05,857 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 10:31:05,858 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-28 10:31:05,858 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:05,859 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 45 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:31:05,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 10:31:05,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2022-04-28 10:31:05,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:05,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,879 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,879 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,881 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-28 10:31:05,881 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-28 10:31:05,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:05,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:05,881 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 49 states. [2022-04-28 10:31:05,881 INFO L87 Difference]: Start difference. First operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 49 states. [2022-04-28 10:31:05,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:05,883 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-28 10:31:05,883 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-28 10:31:05,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:05,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:05,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:05,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:05,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 36 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:05,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 56 transitions. [2022-04-28 10:31:05,885 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 56 transitions. Word has length 32 [2022-04-28 10:31:05,885 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:05,885 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 56 transitions. [2022-04-28 10:31:05,885 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:05,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 56 transitions. [2022-04-28 10:31:05,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:05,923 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 56 transitions. [2022-04-28 10:31:05,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 10:31:05,923 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:05,923 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:05,923 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 10:31:05,924 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:05,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:05,924 INFO L85 PathProgramCache]: Analyzing trace with hash 1053423629, now seen corresponding path program 1 times [2022-04-28 10:31:05,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:05,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [119495178] [2022-04-28 10:31:05,926 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:05,926 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:05,927 INFO L85 PathProgramCache]: Analyzing trace with hash 1053423629, now seen corresponding path program 2 times [2022-04-28 10:31:05,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:05,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76752239] [2022-04-28 10:31:05,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:05,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:05,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:05,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {1033#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1011#true} is VALID [2022-04-28 10:31:05,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-28 10:31:05,954 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1011#true} {1011#true} #117#return; {1011#true} is VALID [2022-04-28 10:31:05,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:05,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {1011#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {1034#(<= correct_version_~i~0 0)} assume !(~b~0 < ~n); {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {1034#(<= correct_version_~i~0 0)} assume !(~l~0 < ~m); {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {1034#(<= correct_version_~i~0 0)} ~x~0 := 0;~y~0 := 0; {1035#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:31:05,976 INFO L290 TraceCheckUtils]: 4: Hoare triple {1035#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1012#false} is VALID [2022-04-28 10:31:05,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {1012#false} assume !(~x~0 < ~i~0); {1012#false} is VALID [2022-04-28 10:31:05,977 INFO L290 TraceCheckUtils]: 6: Hoare triple {1012#false} #res := ~y~0; {1012#false} is VALID [2022-04-28 10:31:05,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {1012#false} assume true; {1012#false} is VALID [2022-04-28 10:31:05,977 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1012#false} {1011#true} #111#return; {1012#false} is VALID [2022-04-28 10:31:05,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 10:31:05,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:05,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {1011#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1011#true} is VALID [2022-04-28 10:31:05,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {1011#true} assume !(~b~1 < ~n); {1011#true} is VALID [2022-04-28 10:31:05,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1011#true} assume !(~l~1 < ~m); {1011#true} is VALID [2022-04-28 10:31:05,983 INFO L290 TraceCheckUtils]: 3: Hoare triple {1011#true} ~x~1 := 0;~y~1 := 0; {1011#true} is VALID [2022-04-28 10:31:05,983 INFO L290 TraceCheckUtils]: 4: Hoare triple {1011#true} assume !(~x~1 < ~i~1); {1011#true} is VALID [2022-04-28 10:31:05,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {1011#true} #res := ~y~1; {1011#true} is VALID [2022-04-28 10:31:05,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-28 10:31:05,983 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1011#true} {1012#false} #113#return; {1012#false} is VALID [2022-04-28 10:31:05,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {1011#true} call ULTIMATE.init(); {1033#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:05,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {1033#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1011#true} {1011#true} #117#return; {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {1011#true} call #t~ret10 := main(); {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {1011#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L290 TraceCheckUtils]: 6: Hoare triple {1011#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1011#true} is VALID [2022-04-28 10:31:05,984 INFO L272 TraceCheckUtils]: 7: Hoare triple {1011#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1011#true} is VALID [2022-04-28 10:31:05,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {1011#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {1034#(<= correct_version_~i~0 0)} assume !(~b~0 < ~n); {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,985 INFO L290 TraceCheckUtils]: 10: Hoare triple {1034#(<= correct_version_~i~0 0)} assume !(~l~0 < ~m); {1034#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:05,985 INFO L290 TraceCheckUtils]: 11: Hoare triple {1034#(<= correct_version_~i~0 0)} ~x~0 := 0;~y~0 := 0; {1035#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:31:05,986 INFO L290 TraceCheckUtils]: 12: Hoare triple {1035#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {1012#false} assume !(~x~0 < ~i~0); {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {1012#false} #res := ~y~0; {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L290 TraceCheckUtils]: 15: Hoare triple {1012#false} assume true; {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1012#false} {1011#true} #111#return; {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L290 TraceCheckUtils]: 17: Hoare triple {1012#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1012#false} is VALID [2022-04-28 10:31:05,986 INFO L272 TraceCheckUtils]: 18: Hoare triple {1012#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {1011#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {1011#true} assume !(~b~1 < ~n); {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {1011#true} assume !(~l~1 < ~m); {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 22: Hoare triple {1011#true} ~x~1 := 0;~y~1 := 0; {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {1011#true} assume !(~x~1 < ~i~1); {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {1011#true} #res := ~y~1; {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-28 10:31:05,987 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1011#true} {1012#false} #113#return; {1012#false} is VALID [2022-04-28 10:31:05,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {1012#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1012#false} is VALID [2022-04-28 10:31:05,987 INFO L272 TraceCheckUtils]: 28: Hoare triple {1012#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1012#false} is VALID [2022-04-28 10:31:05,988 INFO L290 TraceCheckUtils]: 29: Hoare triple {1012#false} ~cond := #in~cond; {1012#false} is VALID [2022-04-28 10:31:05,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {1012#false} assume 0 == ~cond; {1012#false} is VALID [2022-04-28 10:31:05,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {1012#false} assume !false; {1012#false} is VALID [2022-04-28 10:31:05,988 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:31:05,988 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:05,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76752239] [2022-04-28 10:31:05,988 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [76752239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:05,988 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:05,988 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:31:05,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:05,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [119495178] [2022-04-28 10:31:05,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [119495178] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:05,989 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:05,989 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:31:05,989 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1790480587] [2022-04-28 10:31:05,989 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:05,989 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 32 [2022-04-28 10:31:05,990 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:05,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:06,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,006 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:31:06,006 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:06,006 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:31:06,007 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:31:06,007 INFO L87 Difference]: Start difference. First operand 46 states and 56 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:06,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,208 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-28 10:31:06,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:06,208 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 32 [2022-04-28 10:31:06,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:06,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:06,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 10:31:06,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:06,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 10:31:06,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-28 10:31:06,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,260 INFO L225 Difference]: With dead ends: 81 [2022-04-28 10:31:06,260 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 10:31:06,260 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-28 10:31:06,261 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:06,261 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 45 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:06,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 10:31:06,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 50. [2022-04-28 10:31:06,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:06,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,291 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,291 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,293 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-28 10:31:06,293 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-28 10:31:06,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:06,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:06,293 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 53 states. [2022-04-28 10:31:06,293 INFO L87 Difference]: Start difference. First operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 53 states. [2022-04-28 10:31:06,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,295 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-28 10:31:06,295 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-28 10:31:06,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:06,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:06,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:06,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:06,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 40 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-04-28 10:31:06,297 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 32 [2022-04-28 10:31:06,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:06,297 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-04-28 10:31:06,297 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:06,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 62 transitions. [2022-04-28 10:31:06,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,353 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-04-28 10:31:06,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 10:31:06,354 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:06,354 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:06,354 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 10:31:06,355 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:06,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:06,355 INFO L85 PathProgramCache]: Analyzing trace with hash 755216986, now seen corresponding path program 1 times [2022-04-28 10:31:06,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:06,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1481853714] [2022-04-28 10:31:06,359 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:06,359 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:06,359 INFO L85 PathProgramCache]: Analyzing trace with hash 755216986, now seen corresponding path program 2 times [2022-04-28 10:31:06,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:06,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1475990129] [2022-04-28 10:31:06,360 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:06,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:06,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,401 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:06,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {1436#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1412#true} is VALID [2022-04-28 10:31:06,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-28 10:31:06,406 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1412#true} {1412#true} #117#return; {1412#true} is VALID [2022-04-28 10:31:06,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:06,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,436 INFO L290 TraceCheckUtils]: 0: Hoare triple {1412#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1437#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-28 10:31:06,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume !(~l~0 < ~m); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,437 INFO L290 TraceCheckUtils]: 3: Hoare triple {1438#(<= |correct_version_#in~n| 0)} ~x~0 := 0;~y~0 := 0; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,438 INFO L290 TraceCheckUtils]: 4: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume !(~x~0 < ~i~0); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#(<= |correct_version_#in~n| 0)} #res := ~y~0; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,438 INFO L290 TraceCheckUtils]: 6: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume true; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,439 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1438#(<= |correct_version_#in~n| 0)} {1417#(<= 1 main_~n~0)} #111#return; {1413#false} is VALID [2022-04-28 10:31:06,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:31:06,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {1412#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {1412#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} assume !(~b~1 < ~n); {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {1412#true} assume !(~l~1 < ~m); {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 4: Hoare triple {1412#true} ~x~1 := 0;~y~1 := 0; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {1412#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 6: Hoare triple {1412#true} assume !(~x~1 < ~i~1); {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {1412#true} #res := ~y~1; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-28 10:31:06,446 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1412#true} {1413#false} #113#return; {1413#false} is VALID [2022-04-28 10:31:06,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {1412#true} call ULTIMATE.init(); {1436#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:06,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {1436#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1412#true} is VALID [2022-04-28 10:31:06,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-28 10:31:06,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1412#true} {1412#true} #117#return; {1412#true} is VALID [2022-04-28 10:31:06,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {1412#true} call #t~ret10 := main(); {1412#true} is VALID [2022-04-28 10:31:06,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {1412#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1412#true} is VALID [2022-04-28 10:31:06,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {1412#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1417#(<= 1 main_~n~0)} is VALID [2022-04-28 10:31:06,448 INFO L272 TraceCheckUtils]: 7: Hoare triple {1417#(<= 1 main_~n~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1412#true} is VALID [2022-04-28 10:31:06,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {1412#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1437#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-28 10:31:06,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume !(~l~0 < ~m); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#(<= |correct_version_#in~n| 0)} ~x~0 := 0;~y~0 := 0; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,450 INFO L290 TraceCheckUtils]: 12: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume !(~x~0 < ~i~0); {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#(<= |correct_version_#in~n| 0)} #res := ~y~0; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume true; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-28 10:31:06,451 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1438#(<= |correct_version_#in~n| 0)} {1417#(<= 1 main_~n~0)} #111#return; {1413#false} is VALID [2022-04-28 10:31:06,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {1413#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1413#false} is VALID [2022-04-28 10:31:06,451 INFO L272 TraceCheckUtils]: 17: Hoare triple {1413#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1412#true} is VALID [2022-04-28 10:31:06,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {1412#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1412#true} is VALID [2022-04-28 10:31:06,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {1412#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {1412#true} is VALID [2022-04-28 10:31:06,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#true} assume !(~b~1 < ~n); {1412#true} is VALID [2022-04-28 10:31:06,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {1412#true} assume !(~l~1 < ~m); {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 22: Hoare triple {1412#true} ~x~1 := 0;~y~1 := 0; {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 23: Hoare triple {1412#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 24: Hoare triple {1412#true} assume !(~x~1 < ~i~1); {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {1412#true} #res := ~y~1; {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-28 10:31:06,452 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1412#true} {1413#false} #113#return; {1413#false} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 28: Hoare triple {1413#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1413#false} is VALID [2022-04-28 10:31:06,452 INFO L272 TraceCheckUtils]: 29: Hoare triple {1413#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1413#false} is VALID [2022-04-28 10:31:06,452 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#false} ~cond := #in~cond; {1413#false} is VALID [2022-04-28 10:31:06,453 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#false} assume 0 == ~cond; {1413#false} is VALID [2022-04-28 10:31:06,453 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#false} assume !false; {1413#false} is VALID [2022-04-28 10:31:06,453 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:06,453 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:06,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1475990129] [2022-04-28 10:31:06,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1475990129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:06,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:06,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:06,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:06,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1481853714] [2022-04-28 10:31:06,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1481853714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:06,454 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:06,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:06,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [726907765] [2022-04-28 10:31:06,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:06,454 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 10:31:06,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:06,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,471 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:06,472 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:06,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:06,472 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:06,472 INFO L87 Difference]: Start difference. First operand 50 states and 62 transitions. Second operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,691 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-28 10:31:06,691 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:06,691 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 10:31:06,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:06,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 10:31:06,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 10:31:06,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-28 10:31:06,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,744 INFO L225 Difference]: With dead ends: 77 [2022-04-28 10:31:06,744 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 10:31:06,745 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:06,745 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:06,745 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 50 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:06,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 10:31:06,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 10:31:06,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:06,771 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,771 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,772 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,773 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-28 10:31:06,773 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-28 10:31:06,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:06,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:06,773 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 47 states. [2022-04-28 10:31:06,774 INFO L87 Difference]: Start difference. First operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 47 states. [2022-04-28 10:31:06,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:06,775 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-28 10:31:06,775 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-28 10:31:06,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:06,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:06,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:06,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:06,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 35 states have (on average 1.2857142857142858) internal successors, (45), 37 states have internal predecessors, (45), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:06,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 57 transitions. [2022-04-28 10:31:06,776 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 57 transitions. Word has length 33 [2022-04-28 10:31:06,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:06,777 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 57 transitions. [2022-04-28 10:31:06,777 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 57 transitions. [2022-04-28 10:31:06,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,816 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-28 10:31:06,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 10:31:06,817 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:06,817 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:06,817 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-28 10:31:06,817 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:06,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:06,817 INFO L85 PathProgramCache]: Analyzing trace with hash 1803948538, now seen corresponding path program 1 times [2022-04-28 10:31:06,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:06,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1753529046] [2022-04-28 10:31:06,820 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:06,820 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:06,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1803948538, now seen corresponding path program 2 times [2022-04-28 10:31:06,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:06,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [8620613] [2022-04-28 10:31:06,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:06,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:06,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,848 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:06,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {1813#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1789#true} is VALID [2022-04-28 10:31:06,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-28 10:31:06,852 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1789#true} {1789#true} #117#return; {1789#true} is VALID [2022-04-28 10:31:06,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:06,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,871 INFO L290 TraceCheckUtils]: 0: Hoare triple {1789#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~l~0 < ~m); {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,872 INFO L290 TraceCheckUtils]: 4: Hoare triple {1815#(<= |correct_version_#in~m| 0)} ~x~0 := 0;~y~0 := 0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,873 INFO L290 TraceCheckUtils]: 6: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume !(~x~0 < ~i~0); {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {1815#(<= |correct_version_#in~m| 0)} #res := ~y~0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume true; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,874 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1815#(<= |correct_version_#in~m| 0)} {1794#(<= 1 main_~m~0)} #111#return; {1790#false} is VALID [2022-04-28 10:31:06,874 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-28 10:31:06,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:06,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {1789#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1789#true} is VALID [2022-04-28 10:31:06,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {1789#true} assume !(~b~1 < ~n); {1789#true} is VALID [2022-04-28 10:31:06,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {1789#true} assume !(~l~1 < ~m); {1789#true} is VALID [2022-04-28 10:31:06,880 INFO L290 TraceCheckUtils]: 3: Hoare triple {1789#true} ~x~1 := 0;~y~1 := 0; {1789#true} is VALID [2022-04-28 10:31:06,881 INFO L290 TraceCheckUtils]: 4: Hoare triple {1789#true} assume !(~x~1 < ~i~1); {1789#true} is VALID [2022-04-28 10:31:06,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {1789#true} #res := ~y~1; {1789#true} is VALID [2022-04-28 10:31:06,881 INFO L290 TraceCheckUtils]: 6: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-28 10:31:06,881 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1789#true} {1790#false} #113#return; {1790#false} is VALID [2022-04-28 10:31:06,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {1789#true} call ULTIMATE.init(); {1813#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:06,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {1813#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1789#true} is VALID [2022-04-28 10:31:06,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-28 10:31:06,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1789#true} {1789#true} #117#return; {1789#true} is VALID [2022-04-28 10:31:06,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {1789#true} call #t~ret10 := main(); {1789#true} is VALID [2022-04-28 10:31:06,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {1789#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1789#true} is VALID [2022-04-28 10:31:06,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {1789#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1794#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:06,886 INFO L272 TraceCheckUtils]: 7: Hoare triple {1794#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1789#true} is VALID [2022-04-28 10:31:06,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {1789#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,887 INFO L290 TraceCheckUtils]: 10: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:06,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {1814#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~l~0 < ~m); {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,888 INFO L290 TraceCheckUtils]: 12: Hoare triple {1815#(<= |correct_version_#in~m| 0)} ~x~0 := 0;~y~0 := 0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume !(~x~0 < ~i~0); {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {1815#(<= |correct_version_#in~m| 0)} #res := ~y~0; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,889 INFO L290 TraceCheckUtils]: 16: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume true; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-28 10:31:06,889 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1815#(<= |correct_version_#in~m| 0)} {1794#(<= 1 main_~m~0)} #111#return; {1790#false} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {1790#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1790#false} is VALID [2022-04-28 10:31:06,890 INFO L272 TraceCheckUtils]: 19: Hoare triple {1790#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {1789#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {1789#true} assume !(~b~1 < ~n); {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {1789#true} assume !(~l~1 < ~m); {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {1789#true} ~x~1 := 0;~y~1 := 0; {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {1789#true} assume !(~x~1 < ~i~1); {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {1789#true} #res := ~y~1; {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 26: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-28 10:31:06,890 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1789#true} {1790#false} #113#return; {1790#false} is VALID [2022-04-28 10:31:06,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {1790#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1790#false} is VALID [2022-04-28 10:31:06,891 INFO L272 TraceCheckUtils]: 29: Hoare triple {1790#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1790#false} is VALID [2022-04-28 10:31:06,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {1790#false} ~cond := #in~cond; {1790#false} is VALID [2022-04-28 10:31:06,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#false} assume 0 == ~cond; {1790#false} is VALID [2022-04-28 10:31:06,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {1790#false} assume !false; {1790#false} is VALID [2022-04-28 10:31:06,891 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:06,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:06,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [8620613] [2022-04-28 10:31:06,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [8620613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:06,891 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:06,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:06,892 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:06,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1753529046] [2022-04-28 10:31:06,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1753529046] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:06,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:06,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:06,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1287788088] [2022-04-28 10:31:06,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:06,892 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 10:31:06,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:06,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:06,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:06,909 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:06,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:06,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:06,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:06,910 INFO L87 Difference]: Start difference. First operand 47 states and 57 transitions. Second operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:07,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,128 INFO L93 Difference]: Finished difference Result 83 states and 102 transitions. [2022-04-28 10:31:07,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:07,129 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-28 10:31:07,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:07,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:07,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-28 10:31:07,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:07,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-28 10:31:07,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2022-04-28 10:31:07,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,173 INFO L225 Difference]: With dead ends: 83 [2022-04-28 10:31:07,173 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 10:31:07,173 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:07,174 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 41 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:07,174 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 50 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:07,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 10:31:07,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2022-04-28 10:31:07,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:07,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,221 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,221 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,223 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-28 10:31:07,223 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-28 10:31:07,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:07,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:07,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 48 states. [2022-04-28 10:31:07,223 INFO L87 Difference]: Start difference. First operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 48 states. [2022-04-28 10:31:07,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,224 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-28 10:31:07,224 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-28 10:31:07,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:07,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:07,225 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:07,225 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:07,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2022-04-28 10:31:07,226 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 33 [2022-04-28 10:31:07,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:07,226 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2022-04-28 10:31:07,226 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:07,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 58 transitions. [2022-04-28 10:31:07,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,263 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-28 10:31:07,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 10:31:07,264 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:07,264 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:07,264 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-28 10:31:07,264 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:07,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:07,264 INFO L85 PathProgramCache]: Analyzing trace with hash -1563500484, now seen corresponding path program 1 times [2022-04-28 10:31:07,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:07,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1607772123] [2022-04-28 10:31:07,266 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:07,266 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:07,267 INFO L85 PathProgramCache]: Analyzing trace with hash -1563500484, now seen corresponding path program 2 times [2022-04-28 10:31:07,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:07,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1722069358] [2022-04-28 10:31:07,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:07,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:07,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:07,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {2207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2182#true} is VALID [2022-04-28 10:31:07,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-28 10:31:07,327 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2182#true} {2182#true} #117#return; {2182#true} is VALID [2022-04-28 10:31:07,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:07,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {2182#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {2182#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {2182#true} assume !(~b~0 < ~n); {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 3: Hoare triple {2182#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 4: Hoare triple {2182#true} assume !(~l~0 < ~m); {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {2182#true} ~x~0 := 0;~y~0 := 0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {2182#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {2182#true} assume !(~x~0 < ~i~0); {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {2182#true} #res := ~y~0; {2182#true} is VALID [2022-04-28 10:31:07,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-28 10:31:07,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2182#true} {2187#(<= 1 main_~n~0)} #111#return; {2187#(<= 1 main_~n~0)} is VALID [2022-04-28 10:31:07,339 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:07,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,364 INFO L290 TraceCheckUtils]: 0: Hoare triple {2182#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2208#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:07,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {2208#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume !(~l~1 < ~m); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,365 INFO L290 TraceCheckUtils]: 3: Hoare triple {2209#(<= |student_version_#in~n| 0)} ~x~1 := 0;~y~1 := 0; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,366 INFO L290 TraceCheckUtils]: 4: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume !(~x~1 < ~i~1); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {2209#(<= |student_version_#in~n| 0)} #res := ~y~1; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,366 INFO L290 TraceCheckUtils]: 6: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume true; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,367 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2209#(<= |student_version_#in~n| 0)} {2187#(<= 1 main_~n~0)} #113#return; {2183#false} is VALID [2022-04-28 10:31:07,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {2182#true} call ULTIMATE.init(); {2207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:07,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {2207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2182#true} {2182#true} #117#return; {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {2182#true} call #t~ret10 := main(); {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {2182#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {2182#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2187#(<= 1 main_~n~0)} is VALID [2022-04-28 10:31:07,368 INFO L272 TraceCheckUtils]: 7: Hoare triple {2187#(<= 1 main_~n~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {2182#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {2182#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2182#true} is VALID [2022-04-28 10:31:07,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {2182#true} assume !(~b~0 < ~n); {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {2182#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {2182#true} assume !(~l~0 < ~m); {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {2182#true} ~x~0 := 0;~y~0 := 0; {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {2182#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {2182#true} assume !(~x~0 < ~i~0); {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {2182#true} #res := ~y~0; {2182#true} is VALID [2022-04-28 10:31:07,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-28 10:31:07,370 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2182#true} {2187#(<= 1 main_~n~0)} #111#return; {2187#(<= 1 main_~n~0)} is VALID [2022-04-28 10:31:07,370 INFO L290 TraceCheckUtils]: 19: Hoare triple {2187#(<= 1 main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2187#(<= 1 main_~n~0)} is VALID [2022-04-28 10:31:07,370 INFO L272 TraceCheckUtils]: 20: Hoare triple {2187#(<= 1 main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2182#true} is VALID [2022-04-28 10:31:07,370 INFO L290 TraceCheckUtils]: 21: Hoare triple {2182#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2208#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:07,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {2208#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume !(~l~1 < ~m); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {2209#(<= |student_version_#in~n| 0)} ~x~1 := 0;~y~1 := 0; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume !(~x~1 < ~i~1); {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {2209#(<= |student_version_#in~n| 0)} #res := ~y~1; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume true; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-28 10:31:07,373 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2209#(<= |student_version_#in~n| 0)} {2187#(<= 1 main_~n~0)} #113#return; {2183#false} is VALID [2022-04-28 10:31:07,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {2183#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2183#false} is VALID [2022-04-28 10:31:07,374 INFO L272 TraceCheckUtils]: 30: Hoare triple {2183#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2183#false} is VALID [2022-04-28 10:31:07,374 INFO L290 TraceCheckUtils]: 31: Hoare triple {2183#false} ~cond := #in~cond; {2183#false} is VALID [2022-04-28 10:31:07,374 INFO L290 TraceCheckUtils]: 32: Hoare triple {2183#false} assume 0 == ~cond; {2183#false} is VALID [2022-04-28 10:31:07,374 INFO L290 TraceCheckUtils]: 33: Hoare triple {2183#false} assume !false; {2183#false} is VALID [2022-04-28 10:31:07,374 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 10:31:07,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:07,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1722069358] [2022-04-28 10:31:07,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1722069358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:07,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:07,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:07,375 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:07,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1607772123] [2022-04-28 10:31:07,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1607772123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:07,375 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:07,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:07,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [288163168] [2022-04-28 10:31:07,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:07,375 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 34 [2022-04-28 10:31:07,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:07,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,392 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:07,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:07,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:07,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:07,393 INFO L87 Difference]: Start difference. First operand 48 states and 58 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,599 INFO L93 Difference]: Finished difference Result 57 states and 66 transitions. [2022-04-28 10:31:07,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:07,600 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 34 [2022-04-28 10:31:07,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:07,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-28 10:31:07,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-28 10:31:07,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-28 10:31:07,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,637 INFO L225 Difference]: With dead ends: 57 [2022-04-28 10:31:07,637 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 10:31:07,637 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:07,638 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 43 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:07,638 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 50 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:07,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 10:31:07,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2022-04-28 10:31:07,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:07,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,681 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,681 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,683 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-28 10:31:07,683 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-28 10:31:07,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:07,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:07,683 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-28 10:31:07,683 INFO L87 Difference]: Start difference. First operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-28 10:31:07,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,684 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-28 10:31:07,684 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-28 10:31:07,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:07,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:07,685 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:07,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:07,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:07,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 53 transitions. [2022-04-28 10:31:07,686 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 53 transitions. Word has length 34 [2022-04-28 10:31:07,686 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:07,686 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 53 transitions. [2022-04-28 10:31:07,686 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 53 transitions. [2022-04-28 10:31:07,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,727 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-28 10:31:07,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 10:31:07,727 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:07,728 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:07,728 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-28 10:31:07,728 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:07,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:07,728 INFO L85 PathProgramCache]: Analyzing trace with hash 1234948107, now seen corresponding path program 1 times [2022-04-28 10:31:07,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:07,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1954282349] [2022-04-28 10:31:07,730 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:07,730 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:07,731 INFO L85 PathProgramCache]: Analyzing trace with hash 1234948107, now seen corresponding path program 2 times [2022-04-28 10:31:07,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:07,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539294947] [2022-04-28 10:31:07,731 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:07,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:07,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:07,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,771 INFO L290 TraceCheckUtils]: 0: Hoare triple {2537#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2512#true} is VALID [2022-04-28 10:31:07,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 10:31:07,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2512#true} {2512#true} #117#return; {2512#true} is VALID [2022-04-28 10:31:07,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:07,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,796 INFO L290 TraceCheckUtils]: 0: Hoare triple {2512#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2538#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {2538#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !(~b~0 < ~n); {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,797 INFO L290 TraceCheckUtils]: 3: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,797 INFO L290 TraceCheckUtils]: 4: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !(~l~0 < ~m); {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {2539#(<= 1 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {2540#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:31:07,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {2540#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {2513#false} is VALID [2022-04-28 10:31:07,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {2513#false} #res := ~y~0; {2513#false} is VALID [2022-04-28 10:31:07,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {2513#false} assume true; {2513#false} is VALID [2022-04-28 10:31:07,798 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2513#false} {2512#true} #111#return; {2513#false} is VALID [2022-04-28 10:31:07,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-28 10:31:07,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:07,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {2512#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume !(~b~1 < ~n); {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 3: Hoare triple {2512#true} assume !(~l~1 < ~m); {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 4: Hoare triple {2512#true} ~x~1 := 0;~y~1 := 0; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 6: Hoare triple {2512#true} assume !(~x~1 < ~i~1); {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} #res := ~y~1; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 10:31:07,810 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2512#true} {2513#false} #113#return; {2513#false} is VALID [2022-04-28 10:31:07,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2537#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:07,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {2537#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #117#return; {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret10 := main(); {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {2512#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2512#true} is VALID [2022-04-28 10:31:07,811 INFO L272 TraceCheckUtils]: 7: Hoare triple {2512#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2512#true} is VALID [2022-04-28 10:31:07,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2538#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {2538#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !(~b~0 < ~n); {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,813 INFO L290 TraceCheckUtils]: 12: Hoare triple {2539#(<= 1 correct_version_~i~0)} assume !(~l~0 < ~m); {2539#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:07,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {2539#(<= 1 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {2540#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:31:07,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {2540#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {2513#false} is VALID [2022-04-28 10:31:07,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {2513#false} #res := ~y~0; {2513#false} is VALID [2022-04-28 10:31:07,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {2513#false} assume true; {2513#false} is VALID [2022-04-28 10:31:07,815 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2513#false} {2512#true} #111#return; {2513#false} is VALID [2022-04-28 10:31:07,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {2513#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2513#false} is VALID [2022-04-28 10:31:07,817 INFO L272 TraceCheckUtils]: 19: Hoare triple {2513#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {2512#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} assume !(~b~1 < ~n); {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {2512#true} assume !(~l~1 < ~m); {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {2512#true} ~x~1 := 0;~y~1 := 0; {2512#true} is VALID [2022-04-28 10:31:07,819 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2512#true} is VALID [2022-04-28 10:31:07,820 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(~x~1 < ~i~1); {2512#true} is VALID [2022-04-28 10:31:07,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} #res := ~y~1; {2512#true} is VALID [2022-04-28 10:31:07,822 INFO L290 TraceCheckUtils]: 28: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-28 10:31:07,822 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2512#true} {2513#false} #113#return; {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L290 TraceCheckUtils]: 30: Hoare triple {2513#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L272 TraceCheckUtils]: 31: Hoare triple {2513#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L290 TraceCheckUtils]: 32: Hoare triple {2513#false} ~cond := #in~cond; {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L290 TraceCheckUtils]: 33: Hoare triple {2513#false} assume 0 == ~cond; {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L290 TraceCheckUtils]: 34: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-28 10:31:07,822 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 10:31:07,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:07,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [539294947] [2022-04-28 10:31:07,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [539294947] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:07,823 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:07,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:07,823 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:07,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1954282349] [2022-04-28 10:31:07,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1954282349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:07,823 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:07,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:07,823 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355849430] [2022-04-28 10:31:07,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:07,824 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-28 10:31:07,824 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:07,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:07,840 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:07,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:07,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:07,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:07,841 INFO L87 Difference]: Start difference. First operand 45 states and 53 transitions. Second operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:07,990 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2022-04-28 10:31:07,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:07,991 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-28 10:31:07,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:07,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-28 10:31:07,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:07,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-28 10:31:07,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-28 10:31:08,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,046 INFO L225 Difference]: With dead ends: 64 [2022-04-28 10:31:08,046 INFO L226 Difference]: Without dead ends: 40 [2022-04-28 10:31:08,047 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:08,047 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 39 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:08,047 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 44 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:31:08,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-28 10:31:08,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2022-04-28 10:31:08,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:08,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,069 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,069 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,070 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-28 10:31:08,070 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-28 10:31:08,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 40 states. [2022-04-28 10:31:08,071 INFO L87 Difference]: Start difference. First operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 40 states. [2022-04-28 10:31:08,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,072 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-28 10:31:08,072 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-28 10:31:08,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:08,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:08,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2022-04-28 10:31:08,073 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 35 [2022-04-28 10:31:08,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:08,073 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2022-04-28 10:31:08,073 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 41 transitions. [2022-04-28 10:31:08,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,106 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 10:31:08,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 10:31:08,107 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:08,107 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:08,107 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-28 10:31:08,107 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:08,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:08,107 INFO L85 PathProgramCache]: Analyzing trace with hash 2078941294, now seen corresponding path program 1 times [2022-04-28 10:31:08,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:08,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1406448853] [2022-04-28 10:31:08,109 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:08,110 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:08,110 INFO L85 PathProgramCache]: Analyzing trace with hash 2078941294, now seen corresponding path program 2 times [2022-04-28 10:31:08,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:08,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1029341674] [2022-04-28 10:31:08,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:08,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:08,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:08,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,141 INFO L290 TraceCheckUtils]: 0: Hoare triple {2855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2829#true} is VALID [2022-04-28 10:31:08,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-28 10:31:08,141 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2829#true} {2829#true} #117#return; {2829#true} is VALID [2022-04-28 10:31:08,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:08,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {2829#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2829#true} is VALID [2022-04-28 10:31:08,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {2829#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2829#true} is VALID [2022-04-28 10:31:08,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {2829#true} assume !(~b~0 < ~n); {2829#true} is VALID [2022-04-28 10:31:08,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {2829#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2829#true} is VALID [2022-04-28 10:31:08,147 INFO L290 TraceCheckUtils]: 4: Hoare triple {2829#true} assume !(~l~0 < ~m); {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {2829#true} ~x~0 := 0;~y~0 := 0; {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {2829#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {2829#true} assume !(~x~0 < ~i~0); {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {2829#true} #res := ~y~0; {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-28 10:31:08,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2829#true} {2834#(<= 1 main_~m~0)} #111#return; {2834#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:08,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {2829#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2856#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:08,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {2856#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {2857#(<= 1 student_version_~i~1)} assume !(~b~1 < ~n); {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {2857#(<= 1 student_version_~i~1)} assume !(~l~1 < ~m); {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {2857#(<= 1 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {2858#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:31:08,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {2858#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {2830#false} is VALID [2022-04-28 10:31:08,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {2830#false} #res := ~y~1; {2830#false} is VALID [2022-04-28 10:31:08,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {2830#false} assume true; {2830#false} is VALID [2022-04-28 10:31:08,171 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2830#false} {2834#(<= 1 main_~m~0)} #113#return; {2830#false} is VALID [2022-04-28 10:31:08,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {2829#true} call ULTIMATE.init(); {2855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:08,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {2855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2829#true} is VALID [2022-04-28 10:31:08,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-28 10:31:08,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2829#true} {2829#true} #117#return; {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {2829#true} call #t~ret10 := main(); {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {2829#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {2829#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2834#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,172 INFO L272 TraceCheckUtils]: 7: Hoare triple {2834#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {2829#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {2829#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {2829#true} assume !(~b~0 < ~n); {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {2829#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 12: Hoare triple {2829#true} assume !(~l~0 < ~m); {2829#true} is VALID [2022-04-28 10:31:08,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {2829#true} ~x~0 := 0;~y~0 := 0; {2829#true} is VALID [2022-04-28 10:31:08,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {2829#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2829#true} is VALID [2022-04-28 10:31:08,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {2829#true} assume !(~x~0 < ~i~0); {2829#true} is VALID [2022-04-28 10:31:08,173 INFO L290 TraceCheckUtils]: 16: Hoare triple {2829#true} #res := ~y~0; {2829#true} is VALID [2022-04-28 10:31:08,173 INFO L290 TraceCheckUtils]: 17: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-28 10:31:08,173 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2829#true} {2834#(<= 1 main_~m~0)} #111#return; {2834#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {2834#(<= 1 main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2834#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,174 INFO L272 TraceCheckUtils]: 20: Hoare triple {2834#(<= 1 main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2829#true} is VALID [2022-04-28 10:31:08,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {2829#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2856#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:08,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {2856#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {2857#(<= 1 student_version_~i~1)} assume !(~b~1 < ~n); {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {2857#(<= 1 student_version_~i~1)} assume !(~l~1 < ~m); {2857#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:08,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {2857#(<= 1 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {2858#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 26: Hoare triple {2858#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {2830#false} #res := ~y~1; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {2830#false} assume true; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2830#false} {2834#(<= 1 main_~m~0)} #113#return; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {2830#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L272 TraceCheckUtils]: 31: Hoare triple {2830#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {2830#false} ~cond := #in~cond; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {2830#false} assume 0 == ~cond; {2830#false} is VALID [2022-04-28 10:31:08,176 INFO L290 TraceCheckUtils]: 34: Hoare triple {2830#false} assume !false; {2830#false} is VALID [2022-04-28 10:31:08,177 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-28 10:31:08,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:08,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1029341674] [2022-04-28 10:31:08,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1029341674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:08,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:08,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:31:08,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:08,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1406448853] [2022-04-28 10:31:08,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1406448853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:08,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:08,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:31:08,177 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1966501186] [2022-04-28 10:31:08,178 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:08,178 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-28 10:31:08,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:08,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:31:08,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:08,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:31:08,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 10:31:08,198 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,434 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-28 10:31:08,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:31:08,434 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-28 10:31:08,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:08,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-28 10:31:08,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-28 10:31:08,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 48 transitions. [2022-04-28 10:31:08,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,473 INFO L225 Difference]: With dead ends: 46 [2022-04-28 10:31:08,473 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 10:31:08,473 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:31:08,474 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 35 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:08,474 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 54 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:08,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 10:31:08,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 10:31:08,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:08,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,502 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,502 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,503 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-28 10:31:08,503 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 10:31:08,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,503 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 37 states. [2022-04-28 10:31:08,504 INFO L87 Difference]: Start difference. First operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 37 states. [2022-04-28 10:31:08,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,504 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-28 10:31:08,504 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 10:31:08,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,505 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:08,505 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:08,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2022-04-28 10:31:08,505 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 35 [2022-04-28 10:31:08,505 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:08,506 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2022-04-28 10:31:08,506 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 42 transitions. [2022-04-28 10:31:08,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,542 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 10:31:08,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 10:31:08,543 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:08,543 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:08,543 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-28 10:31:08,543 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:08,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:08,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1371807532, now seen corresponding path program 1 times [2022-04-28 10:31:08,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:08,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [839065683] [2022-04-28 10:31:08,546 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:08,546 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:08,546 INFO L85 PathProgramCache]: Analyzing trace with hash 1371807532, now seen corresponding path program 2 times [2022-04-28 10:31:08,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:08,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1208071979] [2022-04-28 10:31:08,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:08,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:08,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,576 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:08,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {3136#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3109#true} is VALID [2022-04-28 10:31:08,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-28 10:31:08,580 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3109#true} {3109#true} #117#return; {3109#true} is VALID [2022-04-28 10:31:08,580 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:08,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {3109#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3109#true} is VALID [2022-04-28 10:31:08,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {3109#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3109#true} is VALID [2022-04-28 10:31:08,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {3109#true} assume !(~b~0 < ~n); {3109#true} is VALID [2022-04-28 10:31:08,585 INFO L290 TraceCheckUtils]: 3: Hoare triple {3109#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3109#true} is VALID [2022-04-28 10:31:08,585 INFO L290 TraceCheckUtils]: 4: Hoare triple {3109#true} assume !(~l~0 < ~m); {3109#true} is VALID [2022-04-28 10:31:08,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {3109#true} ~x~0 := 0;~y~0 := 0; {3109#true} is VALID [2022-04-28 10:31:08,586 INFO L290 TraceCheckUtils]: 6: Hoare triple {3109#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3109#true} is VALID [2022-04-28 10:31:08,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {3109#true} assume !(~x~0 < ~i~0); {3109#true} is VALID [2022-04-28 10:31:08,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {3109#true} #res := ~y~0; {3109#true} is VALID [2022-04-28 10:31:08,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-28 10:31:08,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3109#true} {3114#(<= 1 main_~m~0)} #111#return; {3114#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:08,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:08,605 INFO L290 TraceCheckUtils]: 0: Hoare triple {3109#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~l~1 < ~m); {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,606 INFO L290 TraceCheckUtils]: 4: Hoare triple {3138#(<= |student_version_#in~m| 0)} ~x~1 := 0;~y~1 := 0; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume !(~x~1 < ~i~1); {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {3138#(<= |student_version_#in~m| 0)} #res := ~y~1; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume true; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,608 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3138#(<= |student_version_#in~m| 0)} {3114#(<= 1 main_~m~0)} #113#return; {3110#false} is VALID [2022-04-28 10:31:08,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {3109#true} call ULTIMATE.init(); {3136#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {3136#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3109#true} {3109#true} #117#return; {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {3109#true} call #t~ret10 := main(); {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {3109#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {3109#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3114#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,609 INFO L272 TraceCheckUtils]: 7: Hoare triple {3114#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {3109#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {3109#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3109#true} is VALID [2022-04-28 10:31:08,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {3109#true} assume !(~b~0 < ~n); {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {3109#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {3109#true} assume !(~l~0 < ~m); {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {3109#true} ~x~0 := 0;~y~0 := 0; {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {3109#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {3109#true} assume !(~x~0 < ~i~0); {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {3109#true} #res := ~y~0; {3109#true} is VALID [2022-04-28 10:31:08,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-28 10:31:08,611 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3109#true} {3114#(<= 1 main_~m~0)} #111#return; {3114#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {3114#(<= 1 main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3114#(<= 1 main_~m~0)} is VALID [2022-04-28 10:31:08,611 INFO L272 TraceCheckUtils]: 20: Hoare triple {3114#(<= 1 main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3109#true} is VALID [2022-04-28 10:31:08,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {3109#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,612 INFO L290 TraceCheckUtils]: 23: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:08,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {3137#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~l~1 < ~m); {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {3138#(<= |student_version_#in~m| 0)} ~x~1 := 0;~y~1 := 0; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume !(~x~1 < ~i~1); {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,613 INFO L290 TraceCheckUtils]: 28: Hoare triple {3138#(<= |student_version_#in~m| 0)} #res := ~y~1; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume true; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-28 10:31:08,614 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3138#(<= |student_version_#in~m| 0)} {3114#(<= 1 main_~m~0)} #113#return; {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L290 TraceCheckUtils]: 31: Hoare triple {3110#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L272 TraceCheckUtils]: 32: Hoare triple {3110#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {3110#false} ~cond := #in~cond; {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L290 TraceCheckUtils]: 34: Hoare triple {3110#false} assume 0 == ~cond; {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {3110#false} assume !false; {3110#false} is VALID [2022-04-28 10:31:08,615 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 10:31:08,615 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:08,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1208071979] [2022-04-28 10:31:08,615 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1208071979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:08,615 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:08,615 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:08,616 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:08,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [839065683] [2022-04-28 10:31:08,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [839065683] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:08,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:08,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:31:08,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275147667] [2022-04-28 10:31:08,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:08,616 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 36 [2022-04-28 10:31:08,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:08,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,638 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:31:08,638 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:08,638 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:31:08,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 10:31:08,639 INFO L87 Difference]: Start difference. First operand 37 states and 42 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,861 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2022-04-28 10:31:08,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:31:08,861 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 36 [2022-04-28 10:31:08,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:08,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-28 10:31:08,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-28 10:31:08,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2022-04-28 10:31:08,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,905 INFO L225 Difference]: With dead ends: 50 [2022-04-28 10:31:08,905 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 10:31:08,905 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:08,906 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 40 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:08,906 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 50 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:08,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 10:31:08,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 10:31:08,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:08,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,944 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,944 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,945 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-28 10:31:08,945 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-28 10:31:08,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,945 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 10:31:08,946 INFO L87 Difference]: Start difference. First operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 10:31:08,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:08,946 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-28 10:31:08,946 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-28 10:31:08,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:08,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:08,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:08,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:08,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 states have internal predecessors, (35), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 10:31:08,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 43 transitions. [2022-04-28 10:31:08,947 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 43 transitions. Word has length 36 [2022-04-28 10:31:08,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:08,947 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 43 transitions. [2022-04-28 10:31:08,948 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:08,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 43 transitions. [2022-04-28 10:31:08,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:08,982 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-28 10:31:08,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 10:31:08,982 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:08,982 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:08,982 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-28 10:31:08,982 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:08,983 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:08,983 INFO L85 PathProgramCache]: Analyzing trace with hash -1443111891, now seen corresponding path program 1 times [2022-04-28 10:31:08,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:08,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2098865027] [2022-04-28 10:31:08,985 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:08,985 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:08,985 INFO L85 PathProgramCache]: Analyzing trace with hash -1443111891, now seen corresponding path program 2 times [2022-04-28 10:31:08,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:08,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1789813964] [2022-04-28 10:31:08,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:08,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:09,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:09,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:09,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:09,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {3432#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3399#true} is VALID [2022-04-28 10:31:09,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-28 10:31:09,073 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-28 10:31:09,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:09,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:09,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,155 INFO L290 TraceCheckUtils]: 3: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,155 INFO L290 TraceCheckUtils]: 4: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-28 10:31:09,156 INFO L290 TraceCheckUtils]: 6: Hoare triple {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,158 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {3399#true} #111#return; {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-28 10:31:09,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:09,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:09,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,284 INFO L290 TraceCheckUtils]: 3: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,284 INFO L290 TraceCheckUtils]: 4: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-28 10:31:09,285 INFO L290 TraceCheckUtils]: 6: Hoare triple {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {3428#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {3399#true} call ULTIMATE.init(); {3432#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:09,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {3432#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {3399#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L290 TraceCheckUtils]: 6: Hoare triple {3399#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3399#true} is VALID [2022-04-28 10:31:09,288 INFO L272 TraceCheckUtils]: 7: Hoare triple {3399#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:09,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,289 INFO L290 TraceCheckUtils]: 9: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,289 INFO L290 TraceCheckUtils]: 10: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,290 INFO L290 TraceCheckUtils]: 12: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,290 INFO L290 TraceCheckUtils]: 13: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-28 10:31:09,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,292 INFO L290 TraceCheckUtils]: 16: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,292 INFO L290 TraceCheckUtils]: 17: Hoare triple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,293 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {3399#true} #111#return; {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-28 10:31:09,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,293 INFO L272 TraceCheckUtils]: 20: Hoare triple {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:09,294 INFO L290 TraceCheckUtils]: 21: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-28 10:31:09,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,296 INFO L290 TraceCheckUtils]: 28: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,298 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {3428#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,298 INFO L290 TraceCheckUtils]: 32: Hoare triple {3428#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3429#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:09,299 INFO L272 TraceCheckUtils]: 33: Hoare triple {3429#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:09,299 INFO L290 TraceCheckUtils]: 34: Hoare triple {3430#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3431#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:09,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {3431#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3400#false} is VALID [2022-04-28 10:31:09,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-28 10:31:09,300 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:09,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:09,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1789813964] [2022-04-28 10:31:09,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1789813964] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:09,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1859395181] [2022-04-28 10:31:09,300 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:09,301 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:09,301 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:09,302 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:09,303 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 10:31:09,370 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:09,371 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:09,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 10:31:09,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:09,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:09,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {3399#true} call ULTIMATE.init(); {3399#true} is VALID [2022-04-28 10:31:09,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {3399#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {3399#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L290 TraceCheckUtils]: 6: Hoare triple {3399#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L272 TraceCheckUtils]: 7: Hoare triple {3399#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:09,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,896 INFO L290 TraceCheckUtils]: 10: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:09,896 INFO L290 TraceCheckUtils]: 11: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {3485#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:09,898 INFO L290 TraceCheckUtils]: 14: Hoare triple {3485#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:09,898 INFO L290 TraceCheckUtils]: 16: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:09,899 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {3399#true} #111#return; {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-28 10:31:09,900 INFO L290 TraceCheckUtils]: 19: Hoare triple {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,900 INFO L272 TraceCheckUtils]: 20: Hoare triple {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:09,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:09,901 INFO L290 TraceCheckUtils]: 24: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {3525#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:09,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {3525#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:09,903 INFO L290 TraceCheckUtils]: 29: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:09,904 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {3541#(and (<= |main_#t~ret9| 1) (<= 1 |main_#t~ret9|) (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,904 INFO L290 TraceCheckUtils]: 32: Hoare triple {3541#(and (<= |main_#t~ret9| 1) (<= 1 |main_#t~ret9|) (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3545#(and (<= main_~n_stones2~0 1) (<= main_~n_stones1~0 1) (<= 1 main_~n_stones2~0) (<= 1 main_~n_stones1~0))} is VALID [2022-04-28 10:31:09,905 INFO L272 TraceCheckUtils]: 33: Hoare triple {3545#(and (<= main_~n_stones2~0 1) (<= main_~n_stones1~0 1) (<= 1 main_~n_stones2~0) (<= 1 main_~n_stones1~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:09,905 INFO L290 TraceCheckUtils]: 34: Hoare triple {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:09,906 INFO L290 TraceCheckUtils]: 35: Hoare triple {3553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3400#false} is VALID [2022-04-28 10:31:09,906 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-28 10:31:09,906 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:09,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:10,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-28 10:31:10,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {3553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3400#false} is VALID [2022-04-28 10:31:10,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:10,337 INFO L272 TraceCheckUtils]: 33: Hoare triple {3429#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:10,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {3428#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3429#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:10,338 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {3428#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:10,338 INFO L290 TraceCheckUtils]: 30: Hoare triple {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:10,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {3442#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-28 10:31:10,339 INFO L290 TraceCheckUtils]: 28: Hoare triple {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:10,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3441#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-28 10:31:10,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {3440#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-28 10:31:10,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:10,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3439#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:10,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:10,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:10,342 INFO L290 TraceCheckUtils]: 21: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3438#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:10,342 INFO L272 TraceCheckUtils]: 20: Hoare triple {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:10,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3416#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-28 10:31:10,343 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {3399#true} #111#return; {3415#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-28 10:31:10,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:10,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {3437#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-28 10:31:10,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:10,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3436#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-28 10:31:10,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {3435#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-28 10:31:10,345 INFO L290 TraceCheckUtils]: 12: Hoare triple {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:10,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3434#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:10,346 INFO L290 TraceCheckUtils]: 10: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:10,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:10,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {3399#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3433#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:10,347 INFO L272 TraceCheckUtils]: 7: Hoare triple {3399#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {3399#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {3399#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {3399#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3399#true} is VALID [2022-04-28 10:31:10,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {3399#true} call ULTIMATE.init(); {3399#true} is VALID [2022-04-28 10:31:10,348 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:10,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1859395181] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:10,348 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:10,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 25 [2022-04-28 10:31:10,348 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:10,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2098865027] [2022-04-28 10:31:10,349 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2098865027] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:10,349 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:10,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:31:10,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1863127375] [2022-04-28 10:31:10,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:10,349 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-04-28 10:31:10,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:10,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:10,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:10,370 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:31:10,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:10,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:31:10,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=543, Unknown=0, NotChecked=0, Total=600 [2022-04-28 10:31:10,371 INFO L87 Difference]: Start difference. First operand 38 states and 43 transitions. Second operand has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:11,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:11,625 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 10:31:11,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 10:31:11,625 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-04-28 10:31:11,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:11,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:11,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-28 10:31:11,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:11,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-28 10:31:11,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 79 transitions. [2022-04-28 10:31:11,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:11,685 INFO L225 Difference]: With dead ends: 70 [2022-04-28 10:31:11,685 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 10:31:11,685 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 68 SyntacticMatches, 5 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 245 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=154, Invalid=1568, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 10:31:11,686 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 68 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 593 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 628 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 593 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:11,686 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 108 Invalid, 628 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 593 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:31:11,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 10:31:11,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 54. [2022-04-28 10:31:11,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:11,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:11,792 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:11,792 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:11,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:11,794 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 10:31:11,794 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 10:31:11,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:11,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:11,794 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 64 states. [2022-04-28 10:31:11,794 INFO L87 Difference]: Start difference. First operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 64 states. [2022-04-28 10:31:11,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:11,795 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 10:31:11,795 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 10:31:11,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:11,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:11,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:11,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:11,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:11,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-28 10:31:11,797 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 37 [2022-04-28 10:31:11,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:11,797 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-28 10:31:11,797 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 1.7058823529411764) internal successors, (29), 15 states have internal predecessors, (29), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:11,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-28 10:31:11,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:11,854 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-28 10:31:11,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 10:31:11,854 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:11,854 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:11,875 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:12,067 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 10:31:12,068 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:12,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:12,068 INFO L85 PathProgramCache]: Analyzing trace with hash -437658803, now seen corresponding path program 3 times [2022-04-28 10:31:12,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:12,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2080263326] [2022-04-28 10:31:12,071 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:12,071 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:12,071 INFO L85 PathProgramCache]: Analyzing trace with hash -437658803, now seen corresponding path program 4 times [2022-04-28 10:31:12,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:12,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [531778868] [2022-04-28 10:31:12,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:12,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:12,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:12,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:12,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:12,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {4109#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4081#true} is VALID [2022-04-28 10:31:12,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,108 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-28 10:31:12,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:12,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {4081#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 3: Hoare triple {4081#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 4: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {4081#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4081#true} is VALID [2022-04-28 10:31:12,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-28 10:31:12,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-28 10:31:12,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-28 10:31:12,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:12,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:12,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4110#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:12,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {4110#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,138 INFO L290 TraceCheckUtils]: 3: Hoare triple {4111#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,138 INFO L290 TraceCheckUtils]: 4: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {4111#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:31:12,139 INFO L290 TraceCheckUtils]: 6: Hoare triple {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4113#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:31:12,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {4113#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4082#false} is VALID [2022-04-28 10:31:12,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-28 10:31:12,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-28 10:31:12,139 INFO L290 TraceCheckUtils]: 10: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-28 10:31:12,139 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-28 10:31:12,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4109#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {4109#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {4081#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L272 TraceCheckUtils]: 7: Hoare triple {4081#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4081#true} is VALID [2022-04-28 10:31:12,140 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {4081#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {4081#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L290 TraceCheckUtils]: 19: Hoare triple {4081#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4081#true} is VALID [2022-04-28 10:31:12,141 INFO L272 TraceCheckUtils]: 20: Hoare triple {4081#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,142 INFO L290 TraceCheckUtils]: 21: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4110#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:12,142 INFO L290 TraceCheckUtils]: 22: Hoare triple {4110#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,142 INFO L290 TraceCheckUtils]: 23: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {4111#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,143 INFO L290 TraceCheckUtils]: 26: Hoare triple {4111#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:31:12,143 INFO L290 TraceCheckUtils]: 27: Hoare triple {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4113#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {4113#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 33: Hoare triple {4082#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L272 TraceCheckUtils]: 34: Hoare triple {4082#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-28 10:31:12,144 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-28 10:31:12,145 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:12,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:12,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [531778868] [2022-04-28 10:31:12,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [531778868] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:12,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1655243118] [2022-04-28 10:31:12,145 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:31:12,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:12,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:12,147 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:12,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 10:31:12,190 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:31:12,190 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:12,191 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 10:31:12,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:12,197 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:12,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2022-04-28 10:31:12,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4081#true} is VALID [2022-04-28 10:31:12,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-28 10:31:12,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-28 10:31:12,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {4081#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L272 TraceCheckUtils]: 7: Hoare triple {4081#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {4081#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {4081#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-28 10:31:12,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,294 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-28 10:31:12,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {4081#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4081#true} is VALID [2022-04-28 10:31:12,294 INFO L272 TraceCheckUtils]: 20: Hoare triple {4081#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,303 INFO L290 TraceCheckUtils]: 21: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4110#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:12,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {4110#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {4111#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {4111#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {4195#(and (<= 0 student_version_~x~1) (<= student_version_~i~1 1))} is VALID [2022-04-28 10:31:12,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {4195#(and (<= 0 student_version_~x~1) (<= student_version_~i~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4199#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 1))} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 28: Hoare triple {4199#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 33: Hoare triple {4082#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L272 TraceCheckUtils]: 34: Hoare triple {4082#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-28 10:31:12,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-28 10:31:12,307 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:12,307 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:12,415 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L272 TraceCheckUtils]: 34: Hoare triple {4082#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {4082#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-28 10:31:12,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-28 10:31:12,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-28 10:31:12,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-28 10:31:12,416 INFO L290 TraceCheckUtils]: 28: Hoare triple {4113#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4082#false} is VALID [2022-04-28 10:31:12,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4113#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:31:12,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {4111#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {4112#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:31:12,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {4111#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {4111#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {4110#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4111#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:31:12,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4110#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:31:12,418 INFO L272 TraceCheckUtils]: 20: Hoare triple {4081#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {4081#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {4081#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {4081#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L272 TraceCheckUtils]: 7: Hoare triple {4081#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4081#true} is VALID [2022-04-28 10:31:12,419 INFO L290 TraceCheckUtils]: 6: Hoare triple {4081#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {4081#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2022-04-28 10:31:12,420 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:12,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1655243118] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:12,420 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:12,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-28 10:31:12,420 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:12,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2080263326] [2022-04-28 10:31:12,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2080263326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:12,421 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:12,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:31:12,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1652333603] [2022-04-28 10:31:12,421 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:12,421 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2022-04-28 10:31:12,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:12,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:12,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:12,443 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:31:12,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:12,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:31:12,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:12,444 INFO L87 Difference]: Start difference. First operand 54 states and 64 transitions. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:12,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:12,769 INFO L93 Difference]: Finished difference Result 80 states and 97 transitions. [2022-04-28 10:31:12,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:31:12,769 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2022-04-28 10:31:12,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:12,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:12,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-28 10:31:12,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:12,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-28 10:31:12,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 59 transitions. [2022-04-28 10:31:12,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:12,818 INFO L225 Difference]: With dead ends: 80 [2022-04-28 10:31:12,818 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 10:31:12,819 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:31:12,820 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 48 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:12,820 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 49 Invalid, 110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:12,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 10:31:12,940 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2022-04-28 10:31:12,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:12,941 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:12,941 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:12,942 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:12,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:12,944 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-28 10:31:12,944 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-28 10:31:12,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:12,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:12,944 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 70 states. [2022-04-28 10:31:12,944 INFO L87 Difference]: Start difference. First operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 70 states. [2022-04-28 10:31:12,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:12,945 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-28 10:31:12,945 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-28 10:31:12,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:12,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:12,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:12,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:12,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 52 states have (on average 1.25) internal successors, (65), 54 states have internal predecessors, (65), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 10:31:12,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-28 10:31:12,947 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 38 [2022-04-28 10:31:12,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:12,947 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-28 10:31:12,947 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:12,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-28 10:31:13,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:13,025 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 10:31:13,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 10:31:13,026 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:13,027 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:13,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:13,239 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 10:31:13,240 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:13,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:13,240 INFO L85 PathProgramCache]: Analyzing trace with hash 1488699212, now seen corresponding path program 5 times [2022-04-28 10:31:13,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:13,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [393789253] [2022-04-28 10:31:13,242 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:13,242 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:13,243 INFO L85 PathProgramCache]: Analyzing trace with hash 1488699212, now seen corresponding path program 6 times [2022-04-28 10:31:13,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:13,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1276063027] [2022-04-28 10:31:13,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:13,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:13,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:13,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:13,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:13,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {4810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4781#true} is VALID [2022-04-28 10:31:13,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-28 10:31:13,279 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-28 10:31:13,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:13,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:13,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4812#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:31:13,315 INFO L290 TraceCheckUtils]: 4: Hoare triple {4812#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,317 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} {4781#true} #111#return; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:13,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:13,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:13,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4815#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:13,367 INFO L290 TraceCheckUtils]: 4: Hoare triple {4815#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4816#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {4816#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,369 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4797#(<= main_~m~0 main_~a~0)} #113#return; {4782#false} is VALID [2022-04-28 10:31:13,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:13,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {4810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {4781#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L290 TraceCheckUtils]: 6: Hoare triple {4781#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L272 TraceCheckUtils]: 7: Hoare triple {4781#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:13,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:13,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {4811#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4812#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:31:13,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {4812#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,373 INFO L290 TraceCheckUtils]: 16: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,373 INFO L290 TraceCheckUtils]: 17: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,374 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} {4781#true} #111#return; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:13,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:13,374 INFO L272 TraceCheckUtils]: 20: Hoare triple {4797#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:13,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,375 INFO L290 TraceCheckUtils]: 23: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {4814#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4815#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:13,376 INFO L290 TraceCheckUtils]: 25: Hoare triple {4815#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4816#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:13,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {4816#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,377 INFO L290 TraceCheckUtils]: 28: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,379 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4797#(<= main_~m~0 main_~a~0)} #113#return; {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {4782#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L272 TraceCheckUtils]: 34: Hoare triple {4782#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-28 10:31:13,379 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:13,380 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:13,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1276063027] [2022-04-28 10:31:13,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1276063027] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:13,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1893736861] [2022-04-28 10:31:13,380 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:31:13,380 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:13,380 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:13,381 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:13,382 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 10:31:13,428 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-28 10:31:13,429 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:13,429 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:31:13,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:13,439 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:13,718 INFO L272 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {4781#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {4781#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4781#true} is VALID [2022-04-28 10:31:13,718 INFO L290 TraceCheckUtils]: 6: Hoare triple {4781#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4781#true} is VALID [2022-04-28 10:31:13,719 INFO L272 TraceCheckUtils]: 7: Hoare triple {4781#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:13,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:13,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:13,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:13,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {4845#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4855#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:13,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {4855#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 |correct_version_#in~a|))} assume !(~l~0 < ~m); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,738 INFO L290 TraceCheckUtils]: 16: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,738 INFO L290 TraceCheckUtils]: 17: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:13,739 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} {4781#true} #111#return; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:13,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:13,740 INFO L272 TraceCheckUtils]: 20: Hoare triple {4797#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:13,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:13,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:13,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:13,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {4886#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4896#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~l~1))} is VALID [2022-04-28 10:31:13,742 INFO L290 TraceCheckUtils]: 25: Hoare triple {4896#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,742 INFO L290 TraceCheckUtils]: 26: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,742 INFO L290 TraceCheckUtils]: 27: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,743 INFO L290 TraceCheckUtils]: 28: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,744 INFO L290 TraceCheckUtils]: 29: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:13,745 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4797#(<= main_~m~0 main_~a~0)} #113#return; {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {4782#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L272 TraceCheckUtils]: 34: Hoare triple {4782#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-28 10:31:13,746 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:13,746 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:14,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-28 10:31:14,375 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-28 10:31:14,375 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-28 10:31:14,375 INFO L272 TraceCheckUtils]: 34: Hoare triple {4782#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4782#false} is VALID [2022-04-28 10:31:14,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {4782#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4782#false} is VALID [2022-04-28 10:31:14,376 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4797#(<= main_~m~0 main_~a~0)} #113#return; {4782#false} is VALID [2022-04-28 10:31:14,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,377 INFO L290 TraceCheckUtils]: 28: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {4975#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4817#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:14,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4975#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:31:14,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !(~b~1 < ~n); {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:31:14,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:31:14,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4979#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:31:14,379 INFO L272 TraceCheckUtils]: 20: Hoare triple {4797#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:14,379 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:14,380 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} {4781#true} #111#return; {4797#(<= main_~m~0 main_~a~0)} is VALID [2022-04-28 10:31:14,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,381 INFO L290 TraceCheckUtils]: 16: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {5016#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| |correct_version_#in~a|))} assume !(~l~0 < ~m); {4813#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:14,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {5016#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| |correct_version_#in~a|))} is VALID [2022-04-28 10:31:14,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !(~b~0 < ~n); {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:31:14,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:31:14,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {4781#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5020#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:31:14,383 INFO L272 TraceCheckUtils]: 7: Hoare triple {4781#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {4781#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {4781#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {4781#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4781#true} is VALID [2022-04-28 10:31:14,384 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:14,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1893736861] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:14,384 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:14,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-28 10:31:14,385 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:14,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [393789253] [2022-04-28 10:31:14,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [393789253] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:14,385 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:14,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:31:14,385 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [556874622] [2022-04-28 10:31:14,385 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:14,385 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:14,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:14,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:14,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:14,425 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:31:14,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:14,425 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:31:14,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:31:14,425 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:15,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:15,150 INFO L93 Difference]: Finished difference Result 82 states and 100 transitions. [2022-04-28 10:31:15,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:31:15,151 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:15,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:15,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:15,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 10:31:15,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:15,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-28 10:31:15,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-28 10:31:15,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:15,214 INFO L225 Difference]: With dead ends: 82 [2022-04-28 10:31:15,214 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 10:31:15,214 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=98, Invalid=552, Unknown=0, NotChecked=0, Total=650 [2022-04-28 10:31:15,215 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 61 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:15,215 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 76 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:31:15,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 10:31:15,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 74. [2022-04-28 10:31:15,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:15,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:15,380 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:15,380 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:15,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:15,382 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 10:31:15,382 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 10:31:15,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:15,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:15,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Second operand 76 states. [2022-04-28 10:31:15,382 INFO L87 Difference]: Start difference. First operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Second operand 76 states. [2022-04-28 10:31:15,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:15,383 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 10:31:15,384 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 10:31:15,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:15,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:15,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:15,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:15,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 63 states have internal predecessors, (74), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:15,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 91 transitions. [2022-04-28 10:31:15,385 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 91 transitions. Word has length 38 [2022-04-28 10:31:15,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:15,385 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 91 transitions. [2022-04-28 10:31:15,385 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:15,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 91 transitions. [2022-04-28 10:31:15,474 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:15,474 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-28 10:31:15,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 10:31:15,475 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:15,475 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:15,491 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-28 10:31:15,685 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:15,686 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:15,686 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:15,686 INFO L85 PathProgramCache]: Analyzing trace with hash 1229776654, now seen corresponding path program 7 times [2022-04-28 10:31:15,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:15,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1182960977] [2022-04-28 10:31:15,689 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:15,689 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:15,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1229776654, now seen corresponding path program 8 times [2022-04-28 10:31:15,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:15,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1413532945] [2022-04-28 10:31:15,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:15,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:15,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:15,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:15,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:15,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {5559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5531#true} is VALID [2022-04-28 10:31:15,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:15,712 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-28 10:31:15,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:15,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:15,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5560#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:15,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {5560#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,735 INFO L290 TraceCheckUtils]: 3: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,736 INFO L290 TraceCheckUtils]: 4: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {5561#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:31:15,736 INFO L290 TraceCheckUtils]: 6: Hoare triple {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5563#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:31:15,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {5563#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5532#false} is VALID [2022-04-28 10:31:15,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-28 10:31:15,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-28 10:31:15,737 INFO L290 TraceCheckUtils]: 10: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-28 10:31:15,737 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-28 10:31:15,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-28 10:31:15,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:15,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {5531#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 3: Hoare triple {5531#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {5531#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:15,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-28 10:31:15,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {5531#true} call ULTIMATE.init(); {5559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:15,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {5559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {5531#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {5531#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L272 TraceCheckUtils]: 7: Hoare triple {5531#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5531#true} is VALID [2022-04-28 10:31:15,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5560#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:15,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {5560#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,745 INFO L290 TraceCheckUtils]: 10: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,745 INFO L290 TraceCheckUtils]: 11: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {5561#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:31:15,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5563#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {5563#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {5532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5532#false} is VALID [2022-04-28 10:31:15,747 INFO L272 TraceCheckUtils]: 21: Hoare triple {5532#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5531#true} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 22: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5531#true} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {5531#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {5531#true} is VALID [2022-04-28 10:31:15,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 25: Hoare triple {5531#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {5531#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 30: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 31: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:15,748 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 33: Hoare triple {5532#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L272 TraceCheckUtils]: 34: Hoare triple {5532#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-28 10:31:15,748 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:15,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:15,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1413532945] [2022-04-28 10:31:15,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1413532945] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:15,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [957476765] [2022-04-28 10:31:15,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:15,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:15,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:15,750 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:15,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 10:31:15,794 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:15,795 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:15,795 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 10:31:15,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:15,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:15,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {5531#true} call ULTIMATE.init(); {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {5531#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {5531#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L290 TraceCheckUtils]: 6: Hoare triple {5531#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5531#true} is VALID [2022-04-28 10:31:15,916 INFO L272 TraceCheckUtils]: 7: Hoare triple {5531#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5531#true} is VALID [2022-04-28 10:31:15,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5560#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:15,917 INFO L290 TraceCheckUtils]: 9: Hoare triple {5560#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,917 INFO L290 TraceCheckUtils]: 10: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:15,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {5561#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {5606#(and (<= correct_version_~i~0 1) (<= 0 correct_version_~x~0))} is VALID [2022-04-28 10:31:15,919 INFO L290 TraceCheckUtils]: 14: Hoare triple {5606#(and (<= correct_version_~i~0 1) (<= 0 correct_version_~x~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5610#(and (<= correct_version_~i~0 1) (<= 1 correct_version_~x~0))} is VALID [2022-04-28 10:31:15,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {5610#(and (<= correct_version_~i~0 1) (<= 1 correct_version_~x~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5532#false} is VALID [2022-04-28 10:31:15,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-28 10:31:15,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-28 10:31:15,919 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {5532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L272 TraceCheckUtils]: 21: Hoare triple {5532#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {5532#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {5532#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {5532#false} assume !(~b~1 < ~n); {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {5532#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 26: Hoare triple {5532#false} assume !(~l~1 < ~m); {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {5532#false} ~x~1 := 0;~y~1 := 0; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 28: Hoare triple {5532#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {5532#false} assume !(~x~1 < ~i~1); {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {5532#false} #res := ~y~1; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-28 10:31:15,920 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5532#false} {5532#false} #113#return; {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {5532#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L272 TraceCheckUtils]: 34: Hoare triple {5532#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-28 10:31:15,921 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:15,921 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:16,047 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L272 TraceCheckUtils]: 34: Hoare triple {5532#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 33: Hoare triple {5532#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 28: Hoare triple {5531#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 26: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-28 10:31:16,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {5531#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {5531#true} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {5531#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {5531#true} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5531#true} is VALID [2022-04-28 10:31:16,049 INFO L272 TraceCheckUtils]: 21: Hoare triple {5532#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5531#true} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {5532#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5532#false} is VALID [2022-04-28 10:31:16,049 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-28 10:31:16,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {5563#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5532#false} is VALID [2022-04-28 10:31:16,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {5563#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:31:16,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {5561#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {5562#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:31:16,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:16,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:16,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {5561#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {5560#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {5561#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {5531#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5560#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:31:16,052 INFO L272 TraceCheckUtils]: 7: Hoare triple {5531#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 6: Hoare triple {5531#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {5531#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-28 10:31:16,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {5531#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5531#true} is VALID [2022-04-28 10:31:16,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {5531#true} call ULTIMATE.init(); {5531#true} is VALID [2022-04-28 10:31:16,053 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:16,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [957476765] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:16,053 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:16,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-28 10:31:16,053 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:16,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1182960977] [2022-04-28 10:31:16,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1182960977] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:16,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:16,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:31:16,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027060676] [2022-04-28 10:31:16,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:16,055 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:16,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:16,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:16,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:16,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:31:16,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:16,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:31:16,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:31:16,077 INFO L87 Difference]: Start difference. First operand 74 states and 91 transitions. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:16,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:16,443 INFO L93 Difference]: Finished difference Result 140 states and 174 transitions. [2022-04-28 10:31:16,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:31:16,443 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:16,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:16,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:16,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-28 10:31:16,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:16,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-28 10:31:16,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2022-04-28 10:31:16,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:16,495 INFO L225 Difference]: With dead ends: 140 [2022-04-28 10:31:16,495 INFO L226 Difference]: Without dead ends: 90 [2022-04-28 10:31:16,496 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:31:16,496 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 43 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:16,496 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 49 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:16,497 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-28 10:31:16,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 84. [2022-04-28 10:31:16,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:16,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:16,663 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:16,663 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:16,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:16,665 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-28 10:31:16,665 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-28 10:31:16,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:16,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:16,665 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Second operand 90 states. [2022-04-28 10:31:16,665 INFO L87 Difference]: Start difference. First operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Second operand 90 states. [2022-04-28 10:31:16,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:16,667 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-28 10:31:16,667 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-28 10:31:16,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:16,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:16,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:16,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:16,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 10:31:16,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 104 transitions. [2022-04-28 10:31:16,668 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 104 transitions. Word has length 38 [2022-04-28 10:31:16,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:16,669 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 104 transitions. [2022-04-28 10:31:16,669 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:16,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 104 transitions. [2022-04-28 10:31:16,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:16,762 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-28 10:31:16,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 10:31:16,763 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:16,763 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:16,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:16,975 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:16,975 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:16,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:16,976 INFO L85 PathProgramCache]: Analyzing trace with hash 1473231215, now seen corresponding path program 9 times [2022-04-28 10:31:16,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:16,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [574471995] [2022-04-28 10:31:16,978 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:16,978 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:16,978 INFO L85 PathProgramCache]: Analyzing trace with hash 1473231215, now seen corresponding path program 10 times [2022-04-28 10:31:16,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:16,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1473743677] [2022-04-28 10:31:16,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:16,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:16,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:17,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:17,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:17,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {6460#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6431#true} is VALID [2022-04-28 10:31:17,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-28 10:31:17,016 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-28 10:31:17,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:17,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:17,061 INFO L290 TraceCheckUtils]: 0: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,063 INFO L290 TraceCheckUtils]: 3: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6462#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,063 INFO L290 TraceCheckUtils]: 4: Hoare triple {6462#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6463#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} is VALID [2022-04-28 10:31:17,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {6463#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} assume !(~l~0 < ~m); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,064 INFO L290 TraceCheckUtils]: 8: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,065 INFO L290 TraceCheckUtils]: 10: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,066 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {6431#true} #111#return; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:17,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-28 10:31:17,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:17,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6466#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,111 INFO L290 TraceCheckUtils]: 4: Hoare triple {6466#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} {6448#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {6432#false} is VALID [2022-04-28 10:31:17,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {6431#true} call ULTIMATE.init(); {6460#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:17,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {6460#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6431#true} is VALID [2022-04-28 10:31:17,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {6431#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L290 TraceCheckUtils]: 6: Hoare triple {6431#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L272 TraceCheckUtils]: 7: Hoare triple {6431#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:17,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {6461#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6462#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {6462#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6463#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} is VALID [2022-04-28 10:31:17,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {6463#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} assume !(~l~0 < ~m); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,118 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {6431#true} #111#return; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:17,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:17,118 INFO L272 TraceCheckUtils]: 21: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:17,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,119 INFO L290 TraceCheckUtils]: 23: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:17,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {6465#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6466#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,120 INFO L290 TraceCheckUtils]: 26: Hoare triple {6466#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,121 INFO L290 TraceCheckUtils]: 28: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,121 INFO L290 TraceCheckUtils]: 29: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,121 INFO L290 TraceCheckUtils]: 30: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,121 INFO L290 TraceCheckUtils]: 31: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,122 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} {6448#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {6432#false} is VALID [2022-04-28 10:31:17,122 INFO L290 TraceCheckUtils]: 33: Hoare triple {6432#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6432#false} is VALID [2022-04-28 10:31:17,122 INFO L272 TraceCheckUtils]: 34: Hoare triple {6432#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6432#false} is VALID [2022-04-28 10:31:17,122 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-28 10:31:17,122 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-28 10:31:17,122 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-28 10:31:17,123 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:17,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:17,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1473743677] [2022-04-28 10:31:17,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1473743677] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:17,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [880399086] [2022-04-28 10:31:17,123 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:31:17,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:17,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:17,124 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:17,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 10:31:17,164 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:31:17,165 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:17,166 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:31:17,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:17,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:17,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {6431#true} call ULTIMATE.init(); {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {6431#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {6431#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {6431#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L272 TraceCheckUtils]: 7: Hoare triple {6431#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:17,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:17,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {6495#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6505#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~l~0))} is VALID [2022-04-28 10:31:17,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {6505#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:17,458 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {6431#true} #111#return; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:17,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:17,459 INFO L272 TraceCheckUtils]: 21: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:17,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {6539#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6549#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-28 10:31:17,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {6549#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:17,463 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} {6448#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {6432#false} is VALID [2022-04-28 10:31:17,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {6432#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6432#false} is VALID [2022-04-28 10:31:17,463 INFO L272 TraceCheckUtils]: 34: Hoare triple {6432#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6432#false} is VALID [2022-04-28 10:31:17,463 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-28 10:31:17,463 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-28 10:31:17,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-28 10:31:17,464 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:17,464 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:18,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-28 10:31:18,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-28 10:31:18,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-28 10:31:18,153 INFO L272 TraceCheckUtils]: 34: Hoare triple {6432#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6432#false} is VALID [2022-04-28 10:31:18,153 INFO L290 TraceCheckUtils]: 33: Hoare triple {6432#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6432#false} is VALID [2022-04-28 10:31:18,154 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} {6448#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {6432#false} is VALID [2022-04-28 10:31:18,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,155 INFO L290 TraceCheckUtils]: 28: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {6467#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {6622#(or (<= |student_version_#in~m| |student_version_#in~a|) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {6467#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-28 10:31:18,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6622#(or (<= |student_version_#in~m| |student_version_#in~a|) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:31:18,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} assume !(~b~1 < ~n); {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-28 10:31:18,157 INFO L290 TraceCheckUtils]: 23: Hoare triple {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-28 10:31:18,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6626#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-28 10:31:18,157 INFO L272 TraceCheckUtils]: 21: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:18,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {6448#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:18,158 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {6431#true} #111#return; {6448#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-28 10:31:18,158 INFO L290 TraceCheckUtils]: 18: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,158 INFO L290 TraceCheckUtils]: 17: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,159 INFO L290 TraceCheckUtils]: 16: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,159 INFO L290 TraceCheckUtils]: 15: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {6666#(or (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6464#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:18,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6666#(or (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:31:18,161 INFO L290 TraceCheckUtils]: 10: Hoare triple {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:18,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:18,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {6431#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6670#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:18,162 INFO L272 TraceCheckUtils]: 7: Hoare triple {6431#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L290 TraceCheckUtils]: 6: Hoare triple {6431#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {6431#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {6431#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {6431#true} call ULTIMATE.init(); {6431#true} is VALID [2022-04-28 10:31:18,162 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:18,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [880399086] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:18,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:18,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-28 10:31:18,163 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:18,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [574471995] [2022-04-28 10:31:18,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [574471995] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:18,163 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:18,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:31:18,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [219972570] [2022-04-28 10:31:18,163 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:18,163 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:18,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:18,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:18,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:18,189 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:31:18,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:18,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:31:18,189 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:31:18,189 INFO L87 Difference]: Start difference. First operand 84 states and 104 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:18,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:18,965 INFO L93 Difference]: Finished difference Result 92 states and 111 transitions. [2022-04-28 10:31:18,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:31:18,965 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-28 10:31:18,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:18,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:18,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 10:31:18,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:18,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 10:31:18,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-28 10:31:19,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:19,013 INFO L225 Difference]: With dead ends: 92 [2022-04-28 10:31:19,013 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 10:31:19,013 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 69 SyntacticMatches, 3 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=98, Invalid=552, Unknown=0, NotChecked=0, Total=650 [2022-04-28 10:31:19,014 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 59 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 357 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 368 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 357 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:19,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 80 Invalid, 368 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 357 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:31:19,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 10:31:19,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 84. [2022-04-28 10:31:19,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:19,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 10:31:19,243 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 10:31:19,249 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 10:31:19,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:19,251 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-28 10:31:19,251 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-28 10:31:19,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:19,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:19,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Second operand 86 states. [2022-04-28 10:31:19,252 INFO L87 Difference]: Start difference. First operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Second operand 86 states. [2022-04-28 10:31:19,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:19,254 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-28 10:31:19,254 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-28 10:31:19,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:19,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:19,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:19,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:19,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 73 states have internal predecessors, (87), 7 states have call successors, (7), 5 states have call predecessors, (7), 7 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 10:31:19,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 102 transitions. [2022-04-28 10:31:19,256 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 102 transitions. Word has length 38 [2022-04-28 10:31:19,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:19,256 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 102 transitions. [2022-04-28 10:31:19,256 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:19,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 102 transitions. [2022-04-28 10:31:19,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:19,353 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2022-04-28 10:31:19,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:31:19,353 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:19,354 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:19,371 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 10:31:19,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 10:31:19,563 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:19,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:19,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1109766783, now seen corresponding path program 11 times [2022-04-28 10:31:19,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:19,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1342210378] [2022-04-28 10:31:19,566 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:19,566 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:19,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1109766783, now seen corresponding path program 12 times [2022-04-28 10:31:19,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:19,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [68636917] [2022-04-28 10:31:19,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:19,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:19,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:19,597 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:19,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:19,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {7271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7241#true} is VALID [2022-04-28 10:31:19,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-28 10:31:19,600 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-28 10:31:19,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:19,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:19,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7272#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:19,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {7272#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {7273#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:19,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {7273#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {7274#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} is VALID [2022-04-28 10:31:19,639 INFO L290 TraceCheckUtils]: 3: Hoare triple {7274#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,639 INFO L290 TraceCheckUtils]: 4: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,640 INFO L290 TraceCheckUtils]: 6: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} {7241#true} #111#return; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:19,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:31:19,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:19,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7276#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {7276#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7277#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {7277#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7278#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {7278#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {7279#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} is VALID [2022-04-28 10:31:19,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {7279#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,722 INFO L290 TraceCheckUtils]: 6: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,724 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {7257#(<= main_~n~0 main_~a~0)} #113#return; {7242#false} is VALID [2022-04-28 10:31:19,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {7241#true} call ULTIMATE.init(); {7271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:19,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {7271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {7241#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L290 TraceCheckUtils]: 6: Hoare triple {7241#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7241#true} is VALID [2022-04-28 10:31:19,724 INFO L272 TraceCheckUtils]: 7: Hoare triple {7241#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:19,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7272#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:19,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {7272#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {7273#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:19,726 INFO L290 TraceCheckUtils]: 10: Hoare triple {7273#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {7274#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} is VALID [2022-04-28 10:31:19,726 INFO L290 TraceCheckUtils]: 11: Hoare triple {7274#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,727 INFO L290 TraceCheckUtils]: 14: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,728 INFO L290 TraceCheckUtils]: 17: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:19,728 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} {7241#true} #111#return; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:19,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {7257#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:19,729 INFO L272 TraceCheckUtils]: 20: Hoare triple {7257#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:19,729 INFO L290 TraceCheckUtils]: 21: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7276#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,729 INFO L290 TraceCheckUtils]: 22: Hoare triple {7276#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7277#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,730 INFO L290 TraceCheckUtils]: 23: Hoare triple {7277#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7278#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:19,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {7278#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {7279#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} is VALID [2022-04-28 10:31:19,731 INFO L290 TraceCheckUtils]: 25: Hoare triple {7279#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,731 INFO L290 TraceCheckUtils]: 26: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,731 INFO L290 TraceCheckUtils]: 27: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,731 INFO L290 TraceCheckUtils]: 28: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,732 INFO L290 TraceCheckUtils]: 29: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:19,733 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {7257#(<= main_~n~0 main_~a~0)} #113#return; {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {7242#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L272 TraceCheckUtils]: 35: Hoare triple {7242#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-28 10:31:19,733 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:19,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:19,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [68636917] [2022-04-28 10:31:19,734 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [68636917] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:19,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [42579855] [2022-04-28 10:31:19,734 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:31:19,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:19,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:19,735 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:19,736 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 10:31:19,779 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-28 10:31:19,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:19,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:31:19,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:19,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:20,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {7241#true} call ULTIMATE.init(); {7241#true} is VALID [2022-04-28 10:31:20,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {7241#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7241#true} is VALID [2022-04-28 10:31:20,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {7241#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L290 TraceCheckUtils]: 6: Hoare triple {7241#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L272 TraceCheckUtils]: 7: Hoare triple {7241#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:20,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7308#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:20,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {7308#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {7312#(and (<= correct_version_~b~0 |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-28 10:31:20,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {7312#(and (<= correct_version_~b~0 |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,048 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} {7241#true} #111#return; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:20,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {7257#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:20,048 INFO L272 TraceCheckUtils]: 20: Hoare triple {7257#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:20,048 INFO L290 TraceCheckUtils]: 21: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7349#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:31:20,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {7349#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7353#(and (<= student_version_~n |student_version_#in~n|) (<= |student_version_#in~a| student_version_~b~1))} is VALID [2022-04-28 10:31:20,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {7353#(and (<= student_version_~n |student_version_#in~n|) (<= |student_version_#in~a| student_version_~b~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,050 INFO L290 TraceCheckUtils]: 26: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,050 INFO L290 TraceCheckUtils]: 27: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,051 INFO L290 TraceCheckUtils]: 28: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,051 INFO L290 TraceCheckUtils]: 29: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,054 INFO L290 TraceCheckUtils]: 32: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,055 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {7257#(<= main_~n~0 main_~a~0)} #113#return; {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {7242#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L272 TraceCheckUtils]: 35: Hoare triple {7242#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-28 10:31:20,055 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:20,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:20,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-28 10:31:20,671 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-28 10:31:20,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-28 10:31:20,671 INFO L272 TraceCheckUtils]: 35: Hoare triple {7242#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7242#false} is VALID [2022-04-28 10:31:20,671 INFO L290 TraceCheckUtils]: 34: Hoare triple {7242#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7242#false} is VALID [2022-04-28 10:31:20,672 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {7257#(<= main_~n~0 main_~a~0)} #113#return; {7242#false} is VALID [2022-04-28 10:31:20,672 INFO L290 TraceCheckUtils]: 32: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,673 INFO L290 TraceCheckUtils]: 28: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,673 INFO L290 TraceCheckUtils]: 27: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,674 INFO L290 TraceCheckUtils]: 25: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,674 INFO L290 TraceCheckUtils]: 24: Hoare triple {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,674 INFO L290 TraceCheckUtils]: 23: Hoare triple {7450#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7280#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-28 10:31:20,675 INFO L290 TraceCheckUtils]: 22: Hoare triple {7454#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {7450#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} is VALID [2022-04-28 10:31:20,675 INFO L290 TraceCheckUtils]: 21: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7454#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} is VALID [2022-04-28 10:31:20,675 INFO L272 TraceCheckUtils]: 20: Hoare triple {7257#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:20,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {7257#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:20,676 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} {7241#true} #111#return; {7257#(<= main_~n~0 main_~a~0)} is VALID [2022-04-28 10:31:20,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,677 INFO L290 TraceCheckUtils]: 16: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,677 INFO L290 TraceCheckUtils]: 15: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,677 INFO L290 TraceCheckUtils]: 14: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,692 INFO L290 TraceCheckUtils]: 10: Hoare triple {7491#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {7275#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-28 10:31:20,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {7495#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {7491#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-28 10:31:20,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {7241#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7495#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-28 10:31:20,693 INFO L272 TraceCheckUtils]: 7: Hoare triple {7241#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7241#true} is VALID [2022-04-28 10:31:20,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {7241#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7241#true} is VALID [2022-04-28 10:31:20,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {7241#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7241#true} is VALID [2022-04-28 10:31:20,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-28 10:31:20,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-28 10:31:20,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-28 10:31:20,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {7241#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7241#true} is VALID [2022-04-28 10:31:20,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {7241#true} call ULTIMATE.init(); {7241#true} is VALID [2022-04-28 10:31:20,694 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:20,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [42579855] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:20,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:20,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-28 10:31:20,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:20,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1342210378] [2022-04-28 10:31:20,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1342210378] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:20,695 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:20,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:20,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946303523] [2022-04-28 10:31:20,695 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:20,695 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:20,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:20,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:20,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:20,721 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:31:20,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:20,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:31:20,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:31:20,721 INFO L87 Difference]: Start difference. First operand 84 states and 102 transitions. Second operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:21,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:21,627 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 10:31:21,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:31:21,628 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:21,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:21,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:21,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 10:31:21,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:21,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 10:31:21,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-28 10:31:21,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:21,694 INFO L225 Difference]: With dead ends: 108 [2022-04-28 10:31:21,694 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 10:31:21,694 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 82 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=123, Invalid=689, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:31:21,695 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 70 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 365 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:21,695 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 79 Invalid, 365 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:31:21,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 10:31:21,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 89. [2022-04-28 10:31:21,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:21,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-28 10:31:21,933 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-28 10:31:21,933 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-28 10:31:21,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:21,934 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-28 10:31:21,934 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-28 10:31:21,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:21,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:21,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) Second operand 94 states. [2022-04-28 10:31:21,935 INFO L87 Difference]: Start difference. First operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) Second operand 94 states. [2022-04-28 10:31:21,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:21,936 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-28 10:31:21,936 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-28 10:31:21,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:21,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:21,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:21,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:21,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 71 states have (on average 1.2394366197183098) internal successors, (88), 77 states have internal predecessors, (88), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (11), 6 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-28 10:31:21,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 107 transitions. [2022-04-28 10:31:21,938 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 107 transitions. Word has length 39 [2022-04-28 10:31:21,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:21,938 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 107 transitions. [2022-04-28 10:31:21,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:21,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 107 transitions. [2022-04-28 10:31:22,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:22,086 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-28 10:31:22,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:31:22,087 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:22,087 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:22,105 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:22,287 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 10:31:22,287 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:22,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:22,288 INFO L85 PathProgramCache]: Analyzing trace with hash 1701022282, now seen corresponding path program 13 times [2022-04-28 10:31:22,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:22,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [480327114] [2022-04-28 10:31:22,290 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:22,290 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:22,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1701022282, now seen corresponding path program 14 times [2022-04-28 10:31:22,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:22,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [358102386] [2022-04-28 10:31:22,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:22,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:22,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:22,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:22,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:22,368 INFO L290 TraceCheckUtils]: 0: Hoare triple {8155#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8120#true} is VALID [2022-04-28 10:31:22,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-28 10:31:22,368 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-28 10:31:22,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:22,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:22,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,470 INFO L290 TraceCheckUtils]: 3: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:22,471 INFO L290 TraceCheckUtils]: 4: Hoare triple {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:22,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:22,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:22,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:22,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:22,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:22,473 INFO L290 TraceCheckUtils]: 10: Hoare triple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:22,473 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {8120#true} #111#return; {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:22,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-28 10:31:22,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:22,583 INFO L290 TraceCheckUtils]: 0: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,584 INFO L290 TraceCheckUtils]: 3: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:22,584 INFO L290 TraceCheckUtils]: 4: Hoare triple {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:22,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:22,585 INFO L290 TraceCheckUtils]: 6: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:22,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:22,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:22,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:22,586 INFO L290 TraceCheckUtils]: 10: Hoare triple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:22,587 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {8151#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:22,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {8120#true} call ULTIMATE.init(); {8155#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:22,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {8155#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {8120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L290 TraceCheckUtils]: 6: Hoare triple {8120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L272 TraceCheckUtils]: 7: Hoare triple {8120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:22,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,589 INFO L290 TraceCheckUtils]: 10: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:22,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:22,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:22,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:22,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:22,591 INFO L290 TraceCheckUtils]: 15: Hoare triple {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:22,591 INFO L290 TraceCheckUtils]: 16: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:22,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:22,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:22,593 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {8120#true} #111#return; {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:22,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:22,593 INFO L272 TraceCheckUtils]: 21: Hoare triple {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:22,593 INFO L290 TraceCheckUtils]: 22: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:22,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:22,595 INFO L290 TraceCheckUtils]: 26: Hoare triple {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:22,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:22,596 INFO L290 TraceCheckUtils]: 28: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:22,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:22,596 INFO L290 TraceCheckUtils]: 30: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:22,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:22,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:22,598 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {8151#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:22,598 INFO L290 TraceCheckUtils]: 34: Hoare triple {8151#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8152#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:22,599 INFO L272 TraceCheckUtils]: 35: Hoare triple {8152#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8153#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:22,599 INFO L290 TraceCheckUtils]: 36: Hoare triple {8153#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {8154#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:22,599 INFO L290 TraceCheckUtils]: 37: Hoare triple {8154#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {8121#false} is VALID [2022-04-28 10:31:22,599 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-28 10:31:22,600 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:22,600 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:22,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [358102386] [2022-04-28 10:31:22,600 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [358102386] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:22,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1933785691] [2022-04-28 10:31:22,600 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:22,600 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:22,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:22,601 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:22,601 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 10:31:22,645 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:22,645 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:22,646 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:31:22,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:22,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:23,165 INFO L272 TraceCheckUtils]: 0: Hoare triple {8120#true} call ULTIMATE.init(); {8120#true} is VALID [2022-04-28 10:31:23,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {8120#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8120#true} is VALID [2022-04-28 10:31:23,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-28 10:31:23,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-28 10:31:23,165 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-28 10:31:23,165 INFO L290 TraceCheckUtils]: 5: Hoare triple {8120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8120#true} is VALID [2022-04-28 10:31:23,166 INFO L290 TraceCheckUtils]: 6: Hoare triple {8120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8120#true} is VALID [2022-04-28 10:31:23,166 INFO L272 TraceCheckUtils]: 7: Hoare triple {8120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:23,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,167 INFO L290 TraceCheckUtils]: 10: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,167 INFO L290 TraceCheckUtils]: 11: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:23,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:23,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:23,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {8213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:31:23,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {8213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:23,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:23,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:23,170 INFO L290 TraceCheckUtils]: 18: Hoare triple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:23,171 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {8120#true} #111#return; {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:23,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:23,171 INFO L272 TraceCheckUtils]: 21: Hoare triple {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:23,171 INFO L290 TraceCheckUtils]: 22: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:23,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:23,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:23,174 INFO L290 TraceCheckUtils]: 28: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {8256#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:23,174 INFO L290 TraceCheckUtils]: 29: Hoare triple {8256#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:23,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:23,175 INFO L290 TraceCheckUtils]: 31: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:23,175 INFO L290 TraceCheckUtils]: 32: Hoare triple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:23,176 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {8272#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} is VALID [2022-04-28 10:31:23,176 INFO L290 TraceCheckUtils]: 34: Hoare triple {8272#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8276#(and (<= 2 main_~n_stones1~0) (<= 2 main_~n_stones2~0) (<= main_~n_stones1~0 2) (<= main_~n_stones2~0 2))} is VALID [2022-04-28 10:31:23,177 INFO L272 TraceCheckUtils]: 35: Hoare triple {8276#(and (<= 2 main_~n_stones1~0) (<= 2 main_~n_stones2~0) (<= main_~n_stones1~0 2) (<= main_~n_stones2~0 2))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:23,177 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:23,177 INFO L290 TraceCheckUtils]: 37: Hoare triple {8284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8121#false} is VALID [2022-04-28 10:31:23,177 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-28 10:31:23,177 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:23,178 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:23,602 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-28 10:31:23,603 INFO L290 TraceCheckUtils]: 37: Hoare triple {8284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8121#false} is VALID [2022-04-28 10:31:23,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:23,604 INFO L272 TraceCheckUtils]: 35: Hoare triple {8152#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:23,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {8151#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8152#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:23,605 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {8151#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:23,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:23,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {8167#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:23,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:23,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {8166#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:23,607 INFO L290 TraceCheckUtils]: 28: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {8165#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:23,607 INFO L290 TraceCheckUtils]: 27: Hoare triple {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:23,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8164#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:23,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {8163#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:23,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8162#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:23,609 INFO L272 TraceCheckUtils]: 21: Hoare triple {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:23,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8138#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:23,610 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {8120#true} #111#return; {8137#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:23,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:23,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {8161#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:23,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:23,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {8160#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:23,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {8159#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:23,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:23,613 INFO L290 TraceCheckUtils]: 12: Hoare triple {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8158#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:23,613 INFO L290 TraceCheckUtils]: 11: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {8157#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:23,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {8120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8156#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:23,614 INFO L272 TraceCheckUtils]: 7: Hoare triple {8120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8120#true} is VALID [2022-04-28 10:31:23,614 INFO L290 TraceCheckUtils]: 6: Hoare triple {8120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8120#true} is VALID [2022-04-28 10:31:23,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {8120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8120#true} is VALID [2022-04-28 10:31:23,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-28 10:31:23,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-28 10:31:23,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-28 10:31:23,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {8120#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8120#true} is VALID [2022-04-28 10:31:23,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {8120#true} call ULTIMATE.init(); {8120#true} is VALID [2022-04-28 10:31:23,615 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:23,615 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1933785691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:23,615 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:23,615 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 27 [2022-04-28 10:31:23,615 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:23,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [480327114] [2022-04-28 10:31:23,615 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [480327114] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:23,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:23,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:31:23,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1919393589] [2022-04-28 10:31:23,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:23,616 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:23,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:23,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:23,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:23,645 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:31:23,645 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:23,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:31:23,645 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=641, Unknown=0, NotChecked=0, Total=702 [2022-04-28 10:31:23,645 INFO L87 Difference]: Start difference. First operand 89 states and 107 transitions. Second operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:25,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:25,580 INFO L93 Difference]: Finished difference Result 137 states and 170 transitions. [2022-04-28 10:31:25,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:31:25,580 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:25,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:25,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:25,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-28 10:31:25,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:25,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-28 10:31:25,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2022-04-28 10:31:25,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:25,658 INFO L225 Difference]: With dead ends: 137 [2022-04-28 10:31:25,658 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 10:31:25,659 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 72 SyntacticMatches, 5 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=166, Invalid=1904, Unknown=0, NotChecked=0, Total=2070 [2022-04-28 10:31:25,660 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 85 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 935 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 967 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 935 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:25,660 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 128 Invalid, 967 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 935 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:31:25,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 10:31:26,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 121. [2022-04-28 10:31:26,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:26,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 10:31:26,025 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 10:31:26,025 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 10:31:26,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:26,027 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-28 10:31:26,028 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-28 10:31:26,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:26,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:26,028 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Second operand 131 states. [2022-04-28 10:31:26,028 INFO L87 Difference]: Start difference. First operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Second operand 131 states. [2022-04-28 10:31:26,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:26,030 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-28 10:31:26,030 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-28 10:31:26,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:26,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:26,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:26,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:26,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 97 states have (on average 1.2371134020618557) internal successors, (120), 107 states have internal predecessors, (120), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 10:31:26,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 149 transitions. [2022-04-28 10:31:26,033 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 149 transitions. Word has length 39 [2022-04-28 10:31:26,033 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:26,033 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 149 transitions. [2022-04-28 10:31:26,033 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:26,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 149 transitions. [2022-04-28 10:31:26,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:26,200 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-28 10:31:26,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:31:26,200 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:26,200 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:26,216 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:26,411 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:26,411 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:26,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:26,412 INFO L85 PathProgramCache]: Analyzing trace with hash 1844910907, now seen corresponding path program 15 times [2022-04-28 10:31:26,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:26,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [776284580] [2022-04-28 10:31:26,414 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:26,414 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:26,414 INFO L85 PathProgramCache]: Analyzing trace with hash 1844910907, now seen corresponding path program 16 times [2022-04-28 10:31:26,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:26,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [197210915] [2022-04-28 10:31:26,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:26,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:26,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:26,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:26,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:26,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {9254#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9224#true} is VALID [2022-04-28 10:31:26,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-28 10:31:26,450 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-28 10:31:26,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:26,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:26,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9255#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {9255#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9256#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {9256#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9257#(and (<= (+ correct_version_~a 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,507 INFO L290 TraceCheckUtils]: 3: Hoare triple {9257#(and (<= (+ correct_version_~a 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {9258#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,507 INFO L290 TraceCheckUtils]: 4: Hoare triple {9258#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,509 INFO L290 TraceCheckUtils]: 10: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,510 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {9224#true} #111#return; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:26,510 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:26,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:26,562 INFO L290 TraceCheckUtils]: 0: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9260#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:26,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {9260#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {9261#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:26,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {9261#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {9262#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:26,563 INFO L290 TraceCheckUtils]: 3: Hoare triple {9262#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,564 INFO L290 TraceCheckUtils]: 6: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} {9242#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {9225#false} is VALID [2022-04-28 10:31:26,566 INFO L272 TraceCheckUtils]: 0: Hoare triple {9224#true} call ULTIMATE.init(); {9254#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:26,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {9254#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9224#true} is VALID [2022-04-28 10:31:26,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-28 10:31:26,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-28 10:31:26,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-28 10:31:26,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {9224#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9224#true} is VALID [2022-04-28 10:31:26,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {9224#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9224#true} is VALID [2022-04-28 10:31:26,567 INFO L272 TraceCheckUtils]: 7: Hoare triple {9224#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:26,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9255#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {9255#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9256#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {9256#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9257#(and (<= (+ correct_version_~a 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {9257#(and (<= (+ correct_version_~a 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {9258#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {9258#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,571 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {9224#true} #111#return; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:26,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:26,572 INFO L272 TraceCheckUtils]: 22: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:26,572 INFO L290 TraceCheckUtils]: 23: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9260#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:26,573 INFO L290 TraceCheckUtils]: 24: Hoare triple {9260#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {9261#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:31:26,573 INFO L290 TraceCheckUtils]: 25: Hoare triple {9261#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {9262#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:26,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {9262#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,574 INFO L290 TraceCheckUtils]: 27: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,574 INFO L290 TraceCheckUtils]: 28: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,575 INFO L290 TraceCheckUtils]: 32: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,576 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} {9242#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {9225#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L272 TraceCheckUtils]: 35: Hoare triple {9225#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-28 10:31:26,576 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:26,577 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:26,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [197210915] [2022-04-28 10:31:26,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [197210915] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:26,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [537928033] [2022-04-28 10:31:26,577 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:31:26,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:26,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:26,578 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:26,579 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 10:31:26,619 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:31:26,619 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:26,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:31:26,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:26,630 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:26,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {9224#true} call ULTIMATE.init(); {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {9224#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {9224#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {9224#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9224#true} is VALID [2022-04-28 10:31:26,879 INFO L272 TraceCheckUtils]: 7: Hoare triple {9224#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:26,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9291#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:26,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {9291#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9295#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~b~0))} is VALID [2022-04-28 10:31:26,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {9295#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~b~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:26,884 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {9224#true} #111#return; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:26,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:26,884 INFO L272 TraceCheckUtils]: 22: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:26,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9338#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:26,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {9338#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {9342#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 |student_version_#in~a|))} is VALID [2022-04-28 10:31:26,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {9342#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 |student_version_#in~a|))} assume !(~b~1 < ~n); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,886 INFO L290 TraceCheckUtils]: 28: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,886 INFO L290 TraceCheckUtils]: 29: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,887 INFO L290 TraceCheckUtils]: 31: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,887 INFO L290 TraceCheckUtils]: 32: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:26,888 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} {9242#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {9225#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L272 TraceCheckUtils]: 35: Hoare triple {9225#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-28 10:31:26,888 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:26,888 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:27,490 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-28 10:31:27,490 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-28 10:31:27,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-28 10:31:27,490 INFO L272 TraceCheckUtils]: 35: Hoare triple {9225#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9225#false} is VALID [2022-04-28 10:31:27,490 INFO L290 TraceCheckUtils]: 34: Hoare triple {9225#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9225#false} is VALID [2022-04-28 10:31:27,491 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} {9242#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {9225#false} is VALID [2022-04-28 10:31:27,491 INFO L290 TraceCheckUtils]: 32: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,492 INFO L290 TraceCheckUtils]: 30: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,492 INFO L290 TraceCheckUtils]: 29: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,492 INFO L290 TraceCheckUtils]: 28: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {9263#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {9427#(or (<= |student_version_#in~n| |student_version_#in~a|) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {9263#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-28 10:31:27,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {9431#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {9427#(or (<= |student_version_#in~n| |student_version_#in~a|) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-28 10:31:27,494 INFO L290 TraceCheckUtils]: 23: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9431#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| |student_version_#in~a|))} is VALID [2022-04-28 10:31:27,494 INFO L272 TraceCheckUtils]: 22: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:27,494 INFO L290 TraceCheckUtils]: 21: Hoare triple {9242#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:27,495 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {9224#true} #111#return; {9242#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-28 10:31:27,495 INFO L290 TraceCheckUtils]: 19: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,496 INFO L290 TraceCheckUtils]: 17: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,496 INFO L290 TraceCheckUtils]: 16: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,497 INFO L290 TraceCheckUtils]: 12: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,499 INFO L290 TraceCheckUtils]: 10: Hoare triple {9474#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9259#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:31:27,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {9478#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {9474#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:31:27,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {9224#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9478#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:31:27,500 INFO L272 TraceCheckUtils]: 7: Hoare triple {9224#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L290 TraceCheckUtils]: 6: Hoare triple {9224#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {9224#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {9224#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {9224#true} call ULTIMATE.init(); {9224#true} is VALID [2022-04-28 10:31:27,500 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:27,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [537928033] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:27,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:27,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-28 10:31:27,501 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:27,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [776284580] [2022-04-28 10:31:27,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [776284580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:27,501 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:27,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:27,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1018735008] [2022-04-28 10:31:27,501 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:27,501 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:27,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:27,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:27,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:27,526 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:31:27,526 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:27,526 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:31:27,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:31:27,526 INFO L87 Difference]: Start difference. First operand 121 states and 149 transitions. Second operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:28,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:28,521 INFO L93 Difference]: Finished difference Result 132 states and 159 transitions. [2022-04-28 10:31:28,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:31:28,521 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-28 10:31:28,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:28,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:28,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-28 10:31:28,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:28,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-28 10:31:28,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2022-04-28 10:31:28,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:28,586 INFO L225 Difference]: With dead ends: 132 [2022-04-28 10:31:28,586 INFO L226 Difference]: Without dead ends: 120 [2022-04-28 10:31:28,586 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=123, Invalid=689, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:31:28,587 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 80 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 327 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:28,587 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 74 Invalid, 327 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:31:28,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-28 10:31:28,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 118. [2022-04-28 10:31:28,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:28,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:31:28,980 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:31:28,980 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:31:28,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:28,982 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-28 10:31:28,982 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-28 10:31:28,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:28,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:28,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Second operand 120 states. [2022-04-28 10:31:28,983 INFO L87 Difference]: Start difference. First operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Second operand 120 states. [2022-04-28 10:31:28,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:28,984 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-28 10:31:28,985 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-28 10:31:28,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:28,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:28,985 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:28,985 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:28,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 104 states have internal predecessors, (116), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:31:28,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 142 transitions. [2022-04-28 10:31:28,987 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 142 transitions. Word has length 39 [2022-04-28 10:31:28,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:28,987 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 142 transitions. [2022-04-28 10:31:28,987 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:28,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 142 transitions. [2022-04-28 10:31:29,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:29,150 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 142 transitions. [2022-04-28 10:31:29,151 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 10:31:29,151 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:29,151 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:29,167 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:29,375 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 10:31:29,376 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:29,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:29,376 INFO L85 PathProgramCache]: Analyzing trace with hash 172610767, now seen corresponding path program 17 times [2022-04-28 10:31:29,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:29,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1497519888] [2022-04-28 10:31:29,378 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:29,378 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:29,378 INFO L85 PathProgramCache]: Analyzing trace with hash 172610767, now seen corresponding path program 18 times [2022-04-28 10:31:29,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:29,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [611649311] [2022-04-28 10:31:29,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:29,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:29,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:29,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:29,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:29,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {10292#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10261#true} is VALID [2022-04-28 10:31:29,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-28 10:31:29,427 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-28 10:31:29,427 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:29,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:29,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10294#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:31:29,469 INFO L290 TraceCheckUtils]: 4: Hoare triple {10294#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10295#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:31:29,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {10295#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,469 INFO L290 TraceCheckUtils]: 6: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,471 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {10261#true} #111#return; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:29,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-28 10:31:29,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:29,655 INFO L290 TraceCheckUtils]: 0: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,656 INFO L290 TraceCheckUtils]: 3: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10298#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:29,657 INFO L290 TraceCheckUtils]: 4: Hoare triple {10298#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10299#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {10299#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10300#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} is VALID [2022-04-28 10:31:29,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {10300#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} assume !(~l~1 < ~m); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,660 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {10278#(<= main_~m~0 (* main_~a~0 2))} #113#return; {10262#false} is VALID [2022-04-28 10:31:29,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {10261#true} call ULTIMATE.init(); {10292#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:29,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {10292#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {10261#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L290 TraceCheckUtils]: 6: Hoare triple {10261#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L272 TraceCheckUtils]: 7: Hoare triple {10261#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:29,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:29,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {10293#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10294#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:31:29,663 INFO L290 TraceCheckUtils]: 12: Hoare triple {10294#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10295#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:31:29,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {10295#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:29,666 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {10261#true} #111#return; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:29,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:29,666 INFO L272 TraceCheckUtils]: 21: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:29,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {10297#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10298#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:29,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {10298#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10299#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:29,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {10299#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10300#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} is VALID [2022-04-28 10:31:29,669 INFO L290 TraceCheckUtils]: 28: Hoare triple {10300#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} assume !(~l~1 < ~m); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,670 INFO L290 TraceCheckUtils]: 30: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,670 INFO L290 TraceCheckUtils]: 31: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,670 INFO L290 TraceCheckUtils]: 32: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,671 INFO L290 TraceCheckUtils]: 33: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:29,671 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {10278#(<= main_~m~0 (* main_~a~0 2))} #113#return; {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L290 TraceCheckUtils]: 35: Hoare triple {10262#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L272 TraceCheckUtils]: 36: Hoare triple {10262#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-28 10:31:29,672 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:29,672 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:29,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [611649311] [2022-04-28 10:31:29,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [611649311] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:29,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [725632266] [2022-04-28 10:31:29,673 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:31:29,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:29,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:29,674 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:29,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 10:31:29,725 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:31:29,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:29,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:31:29,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:29,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:30,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {10261#true} call ULTIMATE.init(); {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {10261#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {10261#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10261#true} is VALID [2022-04-28 10:31:30,456 INFO L290 TraceCheckUtils]: 6: Hoare triple {10261#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10261#true} is VALID [2022-04-28 10:31:30,457 INFO L272 TraceCheckUtils]: 7: Hoare triple {10261#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:30,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,458 INFO L290 TraceCheckUtils]: 10: Hoare triple {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {10329#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10339#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {10339#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10343#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 2)) |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {10343#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 2)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,460 INFO L290 TraceCheckUtils]: 14: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,460 INFO L290 TraceCheckUtils]: 16: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,461 INFO L290 TraceCheckUtils]: 17: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,461 INFO L290 TraceCheckUtils]: 18: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:30,461 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {10261#true} #111#return; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:30,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:30,462 INFO L272 TraceCheckUtils]: 21: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:30,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:30,463 INFO L290 TraceCheckUtils]: 23: Hoare triple {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:30,463 INFO L290 TraceCheckUtils]: 24: Hoare triple {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:30,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {10374#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10384#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:30,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {10384#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10388#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 2)))} is VALID [2022-04-28 10:31:30,465 INFO L290 TraceCheckUtils]: 27: Hoare triple {10388#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 2)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,465 INFO L290 TraceCheckUtils]: 28: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,465 INFO L290 TraceCheckUtils]: 29: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,465 INFO L290 TraceCheckUtils]: 30: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,466 INFO L290 TraceCheckUtils]: 33: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:30,467 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {10278#(<= main_~m~0 (* main_~a~0 2))} #113#return; {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L290 TraceCheckUtils]: 35: Hoare triple {10262#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L272 TraceCheckUtils]: 36: Hoare triple {10262#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-28 10:31:30,467 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:30,467 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:31,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-28 10:31:31,416 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-28 10:31:31,416 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-28 10:31:31,416 INFO L272 TraceCheckUtils]: 36: Hoare triple {10262#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10262#false} is VALID [2022-04-28 10:31:31,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {10262#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10262#false} is VALID [2022-04-28 10:31:31,417 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {10278#(<= main_~m~0 (* main_~a~0 2))} #113#return; {10262#false} is VALID [2022-04-28 10:31:31,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {10467#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10301#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:31,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {10471#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10467#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:31:31,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10471#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:31:31,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !(~b~1 < ~n); {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:31:31,424 INFO L290 TraceCheckUtils]: 23: Hoare triple {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:31:31,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10475#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:31:31,424 INFO L272 TraceCheckUtils]: 21: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:31,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {10278#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:31,425 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {10261#true} #111#return; {10278#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-28 10:31:31,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {10512#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {10296#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:31,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {10516#(or (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10512#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:31,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10516#(or (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:31:31,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:31,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:31,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {10261#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10520#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:31,429 INFO L272 TraceCheckUtils]: 7: Hoare triple {10261#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {10261#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {10261#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {10261#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {10261#true} call ULTIMATE.init(); {10261#true} is VALID [2022-04-28 10:31:31,430 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:31,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [725632266] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:31,430 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:31,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-28 10:31:31,431 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:31,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1497519888] [2022-04-28 10:31:31,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1497519888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:31,431 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:31,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:31,431 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067369377] [2022-04-28 10:31:31,431 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:31,431 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:31,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:31,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:31,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:31,457 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:31:31,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:31,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:31:31,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-28 10:31:31,458 INFO L87 Difference]: Start difference. First operand 118 states and 142 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:32,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:32,915 INFO L93 Difference]: Finished difference Result 136 states and 165 transitions. [2022-04-28 10:31:32,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:31:32,915 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:32,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:32,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:32,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2022-04-28 10:31:32,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:32,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2022-04-28 10:31:32,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 82 transitions. [2022-04-28 10:31:32,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:32,986 INFO L225 Difference]: With dead ends: 136 [2022-04-28 10:31:32,986 INFO L226 Difference]: Without dead ends: 122 [2022-04-28 10:31:32,986 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=133, Invalid=989, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 10:31:32,987 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 85 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 519 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 533 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 519 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:32,987 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [91 Valid, 93 Invalid, 533 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 519 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:31:32,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-28 10:31:33,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 113. [2022-04-28 10:31:33,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:33,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-28 10:31:33,424 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-28 10:31:33,425 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-28 10:31:33,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:33,426 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-28 10:31:33,427 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-28 10:31:33,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:33,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:33,427 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Second operand 122 states. [2022-04-28 10:31:33,427 INFO L87 Difference]: Start difference. First operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Second operand 122 states. [2022-04-28 10:31:33,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:33,429 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-28 10:31:33,429 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-28 10:31:33,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:33,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:33,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:33,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:33,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 89 states have (on average 1.247191011235955) internal successors, (111), 99 states have internal predecessors, (111), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-28 10:31:33,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 138 transitions. [2022-04-28 10:31:33,432 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 138 transitions. Word has length 40 [2022-04-28 10:31:33,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:33,432 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 138 transitions. [2022-04-28 10:31:33,432 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:33,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 113 states and 138 transitions. [2022-04-28 10:31:33,598 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:33,598 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 138 transitions. [2022-04-28 10:31:33,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 10:31:33,599 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:33,599 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:33,614 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 10:31:33,803 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:33,803 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:33,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:33,804 INFO L85 PathProgramCache]: Analyzing trace with hash -306897140, now seen corresponding path program 19 times [2022-04-28 10:31:33,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:33,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [163073696] [2022-04-28 10:31:33,806 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:33,806 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:33,806 INFO L85 PathProgramCache]: Analyzing trace with hash -306897140, now seen corresponding path program 20 times [2022-04-28 10:31:33,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:33,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1023158793] [2022-04-28 10:31:33,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:33,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:33,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:33,840 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:33,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:33,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {11344#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11313#true} is VALID [2022-04-28 10:31:33,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-28 10:31:33,843 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-28 10:31:33,843 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:33,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:33,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,897 INFO L290 TraceCheckUtils]: 3: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11346#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {11346#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11347#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {11347#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11348#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:31:33,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {11348#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,901 INFO L290 TraceCheckUtils]: 11: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,902 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {11313#true} #111#return; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:33,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:33,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:33,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11351#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:31:33,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {11351#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11352#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} is VALID [2022-04-28 10:31:33,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {11352#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} assume !(~l~1 < ~m); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,970 INFO L290 TraceCheckUtils]: 10: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,971 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {11314#false} is VALID [2022-04-28 10:31:33,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {11313#true} call ULTIMATE.init(); {11344#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:33,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {11344#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11313#true} is VALID [2022-04-28 10:31:33,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-28 10:31:33,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-28 10:31:33,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-28 10:31:33,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {11313#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11313#true} is VALID [2022-04-28 10:31:33,972 INFO L290 TraceCheckUtils]: 6: Hoare triple {11313#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11313#true} is VALID [2022-04-28 10:31:33,973 INFO L272 TraceCheckUtils]: 7: Hoare triple {11313#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:33,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,974 INFO L290 TraceCheckUtils]: 10: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {11345#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11346#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,975 INFO L290 TraceCheckUtils]: 12: Hoare triple {11346#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11347#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:33,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {11347#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11348#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:31:33,976 INFO L290 TraceCheckUtils]: 14: Hoare triple {11348#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,978 INFO L290 TraceCheckUtils]: 18: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,978 INFO L290 TraceCheckUtils]: 19: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:33,979 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {11313#true} #111#return; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:33,979 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:33,979 INFO L272 TraceCheckUtils]: 22: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:33,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:33,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {11350#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11351#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:31:33,981 INFO L290 TraceCheckUtils]: 27: Hoare triple {11351#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11352#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} is VALID [2022-04-28 10:31:33,982 INFO L290 TraceCheckUtils]: 28: Hoare triple {11352#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} assume !(~l~1 < ~m); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,982 INFO L290 TraceCheckUtils]: 29: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,982 INFO L290 TraceCheckUtils]: 30: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,983 INFO L290 TraceCheckUtils]: 31: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,983 INFO L290 TraceCheckUtils]: 32: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,983 INFO L290 TraceCheckUtils]: 33: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:33,984 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {11314#false} is VALID [2022-04-28 10:31:33,984 INFO L290 TraceCheckUtils]: 35: Hoare triple {11314#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11314#false} is VALID [2022-04-28 10:31:33,984 INFO L272 TraceCheckUtils]: 36: Hoare triple {11314#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11314#false} is VALID [2022-04-28 10:31:33,985 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-28 10:31:33,985 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-28 10:31:33,985 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-28 10:31:33,985 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:33,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:33,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1023158793] [2022-04-28 10:31:33,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1023158793] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:33,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2050699670] [2022-04-28 10:31:33,985 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:33,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:33,986 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:33,987 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:34,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 10:31:34,046 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:34,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:34,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:31:34,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:34,057 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:34,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {11313#true} call ULTIMATE.init(); {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {11313#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {11313#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {11313#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11313#true} is VALID [2022-04-28 10:31:34,756 INFO L272 TraceCheckUtils]: 7: Hoare triple {11313#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:34,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:34,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:34,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:34,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {11381#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11391#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:34,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {11391#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11395#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 2)))} is VALID [2022-04-28 10:31:34,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {11395#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 2)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,761 INFO L290 TraceCheckUtils]: 18: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:34,762 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {11313#true} #111#return; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:34,762 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:34,762 INFO L272 TraceCheckUtils]: 22: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:34,762 INFO L290 TraceCheckUtils]: 23: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:34,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:34,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:34,764 INFO L290 TraceCheckUtils]: 26: Hoare triple {11429#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11439#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:34,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {11439#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11443#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 2)) |student_version_#in~a|))} is VALID [2022-04-28 10:31:34,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {11443#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 2)) |student_version_#in~a|))} assume !(~l~1 < ~m); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,765 INFO L290 TraceCheckUtils]: 30: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,765 INFO L290 TraceCheckUtils]: 31: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,766 INFO L290 TraceCheckUtils]: 32: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:34,767 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {11314#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L272 TraceCheckUtils]: 36: Hoare triple {11314#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-28 10:31:34,767 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:34,767 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:35,632 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-28 10:31:35,632 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-28 10:31:35,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-28 10:31:35,633 INFO L272 TraceCheckUtils]: 36: Hoare triple {11314#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11314#false} is VALID [2022-04-28 10:31:35,633 INFO L290 TraceCheckUtils]: 35: Hoare triple {11314#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11314#false} is VALID [2022-04-28 10:31:35,633 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {11314#false} is VALID [2022-04-28 10:31:35,634 INFO L290 TraceCheckUtils]: 33: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,634 INFO L290 TraceCheckUtils]: 32: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,634 INFO L290 TraceCheckUtils]: 30: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,635 INFO L290 TraceCheckUtils]: 28: Hoare triple {11516#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {11353#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:31:35,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {11520#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11516#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:31:35,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11520#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:31:35,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !(~b~1 < ~n); {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:31:35,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:31:35,637 INFO L290 TraceCheckUtils]: 23: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11524#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:31:35,637 INFO L272 TraceCheckUtils]: 22: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:35,638 INFO L290 TraceCheckUtils]: 21: Hoare triple {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:35,638 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {11313#true} #111#return; {11331#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-28 10:31:35,638 INFO L290 TraceCheckUtils]: 19: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,639 INFO L290 TraceCheckUtils]: 17: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,639 INFO L290 TraceCheckUtils]: 16: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,640 INFO L290 TraceCheckUtils]: 15: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {11564#(or (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11349#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:35,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {11568#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11564#(or (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:31:35,650 INFO L290 TraceCheckUtils]: 11: Hoare triple {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11568#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:35,650 INFO L290 TraceCheckUtils]: 10: Hoare triple {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:35,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:35,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {11313#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11572#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:35,651 INFO L272 TraceCheckUtils]: 7: Hoare triple {11313#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11313#true} is VALID [2022-04-28 10:31:35,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {11313#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11313#true} is VALID [2022-04-28 10:31:35,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {11313#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11313#true} is VALID [2022-04-28 10:31:35,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-28 10:31:35,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-28 10:31:35,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-28 10:31:35,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {11313#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11313#true} is VALID [2022-04-28 10:31:35,652 INFO L272 TraceCheckUtils]: 0: Hoare triple {11313#true} call ULTIMATE.init(); {11313#true} is VALID [2022-04-28 10:31:35,652 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:35,652 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2050699670] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:35,652 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:35,652 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-28 10:31:35,652 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:35,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [163073696] [2022-04-28 10:31:35,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [163073696] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:35,653 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:35,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:31:35,653 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1997491525] [2022-04-28 10:31:35,653 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:35,653 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:35,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:35,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:35,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:35,680 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:31:35,680 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:35,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:31:35,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-28 10:31:35,681 INFO L87 Difference]: Start difference. First operand 113 states and 138 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:37,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:37,115 INFO L93 Difference]: Finished difference Result 128 states and 153 transitions. [2022-04-28 10:31:37,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:31:37,115 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:37,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:37,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:37,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-28 10:31:37,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:37,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-28 10:31:37,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 81 transitions. [2022-04-28 10:31:37,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:37,185 INFO L225 Difference]: With dead ends: 128 [2022-04-28 10:31:37,185 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 10:31:37,186 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 128 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=133, Invalid=989, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 10:31:37,186 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 84 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 536 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 549 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 536 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:37,186 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [89 Valid, 95 Invalid, 549 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 536 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:31:37,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 10:31:37,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 114. [2022-04-28 10:31:37,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:37,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:37,610 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:37,610 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:37,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:37,612 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-28 10:31:37,612 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-28 10:31:37,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:37,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:37,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 116 states. [2022-04-28 10:31:37,613 INFO L87 Difference]: Start difference. First operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 116 states. [2022-04-28 10:31:37,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:37,614 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-28 10:31:37,614 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-28 10:31:37,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:37,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:37,615 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:37,615 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:37,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 90 states have (on average 1.2444444444444445) internal successors, (112), 100 states have internal predecessors, (112), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:37,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 137 transitions. [2022-04-28 10:31:37,616 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 137 transitions. Word has length 40 [2022-04-28 10:31:37,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:37,616 INFO L495 AbstractCegarLoop]: Abstraction has 114 states and 137 transitions. [2022-04-28 10:31:37,617 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:37,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 114 states and 137 transitions. [2022-04-28 10:31:37,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:37,790 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 137 transitions. [2022-04-28 10:31:37,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 10:31:37,790 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:37,790 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:37,808 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:37,991 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:37,991 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:37,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:37,991 INFO L85 PathProgramCache]: Analyzing trace with hash -1295907854, now seen corresponding path program 21 times [2022-04-28 10:31:37,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:37,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1730831000] [2022-04-28 10:31:37,994 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:37,994 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:37,994 INFO L85 PathProgramCache]: Analyzing trace with hash -1295907854, now seen corresponding path program 22 times [2022-04-28 10:31:37,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:37,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198691108] [2022-04-28 10:31:37,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:37,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:38,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:38,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:38,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:38,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {12369#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12339#true} is VALID [2022-04-28 10:31:38,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-28 10:31:38,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:38,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:38,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12370#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {12370#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12371#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {12371#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {12372#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {12340#false} is VALID [2022-04-28 10:31:38,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-28 10:31:38,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-28 10:31:38,049 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-28 10:31:38,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-28 10:31:38,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 0: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 3: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 4: Hoare triple {12339#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 10: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-28 10:31:38,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-28 10:31:38,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {12339#true} call ULTIMATE.init(); {12369#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:38,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {12369#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {12339#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L290 TraceCheckUtils]: 6: Hoare triple {12339#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12339#true} is VALID [2022-04-28 10:31:38,060 INFO L272 TraceCheckUtils]: 7: Hoare triple {12339#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12339#true} is VALID [2022-04-28 10:31:38,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12370#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {12370#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12371#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,062 INFO L290 TraceCheckUtils]: 10: Hoare triple {12371#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,062 INFO L290 TraceCheckUtils]: 12: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {12372#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {12340#false} is VALID [2022-04-28 10:31:38,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-28 10:31:38,064 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {12340#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12340#false} is VALID [2022-04-28 10:31:38,064 INFO L272 TraceCheckUtils]: 21: Hoare triple {12340#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 26: Hoare triple {12339#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 28: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 29: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 30: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-28 10:31:38,064 INFO L290 TraceCheckUtils]: 32: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-28 10:31:38,065 INFO L290 TraceCheckUtils]: 33: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,065 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L290 TraceCheckUtils]: 35: Hoare triple {12340#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L272 TraceCheckUtils]: 36: Hoare triple {12340#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-28 10:31:38,065 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:38,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:38,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198691108] [2022-04-28 10:31:38,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [198691108] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:38,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [670753186] [2022-04-28 10:31:38,066 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:31:38,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:38,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:38,067 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:38,068 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 10:31:38,109 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:31:38,110 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:38,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 10:31:38,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:38,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:38,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {12339#true} call ULTIMATE.init(); {12339#true} is VALID [2022-04-28 10:31:38,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {12339#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {12339#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {12339#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L272 TraceCheckUtils]: 7: Hoare triple {12339#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12339#true} is VALID [2022-04-28 10:31:38,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12370#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {12370#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12371#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,234 INFO L290 TraceCheckUtils]: 10: Hoare triple {12371#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,235 INFO L290 TraceCheckUtils]: 12: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {12372#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {12420#(and (<= 2 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {12420#(and (<= 2 correct_version_~i~0) (<= correct_version_~x~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {12424#(and (<= correct_version_~x~0 1) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {12424#(and (<= correct_version_~x~0 1) (<= 2 correct_version_~i~0))} assume !(~x~0 < ~i~0); {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {12340#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L272 TraceCheckUtils]: 21: Hoare triple {12340#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12340#false} is VALID [2022-04-28 10:31:38,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {12340#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {12340#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {12340#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {12340#false} assume !(~b~1 < ~n); {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {12340#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {12340#false} assume !(~l~1 < ~m); {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {12340#false} ~x~1 := 0;~y~1 := 0; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {12340#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {12340#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {12340#false} assume !(~x~1 < ~i~1); {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {12340#false} #res := ~y~1; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12340#false} {12340#false} #113#return; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {12340#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {12340#false} is VALID [2022-04-28 10:31:38,237 INFO L272 TraceCheckUtils]: 36: Hoare triple {12340#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {12340#false} is VALID [2022-04-28 10:31:38,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-28 10:31:38,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-28 10:31:38,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-28 10:31:38,238 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:38,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:38,352 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L272 TraceCheckUtils]: 36: Hoare triple {12340#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {12340#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {12339#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 26: Hoare triple {12339#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {12339#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 22: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L272 TraceCheckUtils]: 21: Hoare triple {12340#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12339#true} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {12340#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12340#false} is VALID [2022-04-28 10:31:38,354 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-28 10:31:38,354 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-28 10:31:38,360 INFO L290 TraceCheckUtils]: 16: Hoare triple {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {12340#false} is VALID [2022-04-28 10:31:38,361 INFO L290 TraceCheckUtils]: 15: Hoare triple {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {12374#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {12372#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {12373#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:31:38,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {12372#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,363 INFO L290 TraceCheckUtils]: 10: Hoare triple {12371#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12372#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {12370#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12371#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {12339#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12370#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:31:38,363 INFO L272 TraceCheckUtils]: 7: Hoare triple {12339#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L290 TraceCheckUtils]: 6: Hoare triple {12339#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {12339#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {12339#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {12339#true} call ULTIMATE.init(); {12339#true} is VALID [2022-04-28 10:31:38,364 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:38,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [670753186] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:38,364 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:38,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-28 10:31:38,365 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:38,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1730831000] [2022-04-28 10:31:38,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1730831000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:38,365 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:38,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:31:38,365 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [743693511] [2022-04-28 10:31:38,365 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:38,365 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:38,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:38,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:38,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:38,395 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:31:38,395 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:38,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:31:38,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:31:38,396 INFO L87 Difference]: Start difference. First operand 114 states and 137 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:39,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:39,058 INFO L93 Difference]: Finished difference Result 170 states and 199 transitions. [2022-04-28 10:31:39,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:31:39,058 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-28 10:31:39,058 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:39,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:39,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-28 10:31:39,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:39,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-28 10:31:39,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-28 10:31:39,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:39,109 INFO L225 Difference]: With dead ends: 170 [2022-04-28 10:31:39,109 INFO L226 Difference]: Without dead ends: 105 [2022-04-28 10:31:39,109 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:31:39,110 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 49 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:39,110 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 53 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:39,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-28 10:31:39,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 97. [2022-04-28 10:31:39,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:39,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:39,467 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:39,467 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:39,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:39,468 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-28 10:31:39,468 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-28 10:31:39,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:39,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:39,469 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Second operand 105 states. [2022-04-28 10:31:39,469 INFO L87 Difference]: Start difference. First operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Second operand 105 states. [2022-04-28 10:31:39,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:39,470 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-28 10:31:39,470 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-28 10:31:39,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:39,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:39,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:39,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:39,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 85 states have internal predecessors, (97), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:39,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 114 transitions. [2022-04-28 10:31:39,472 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 114 transitions. Word has length 40 [2022-04-28 10:31:39,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:39,472 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 114 transitions. [2022-04-28 10:31:39,472 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:39,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 114 transitions. [2022-04-28 10:31:39,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:39,617 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 114 transitions. [2022-04-28 10:31:39,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 10:31:39,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:39,617 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:39,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:39,817 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 10:31:39,818 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:39,818 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:39,818 INFO L85 PathProgramCache]: Analyzing trace with hash 1335621997, now seen corresponding path program 23 times [2022-04-28 10:31:39,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:39,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2093026178] [2022-04-28 10:31:39,820 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:39,820 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:39,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1335621997, now seen corresponding path program 24 times [2022-04-28 10:31:39,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:39,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257037408] [2022-04-28 10:31:39,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:39,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:39,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:39,843 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:39,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:39,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {13402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13372#true} is VALID [2022-04-28 10:31:39,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:39,847 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-28 10:31:39,847 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:39,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:39,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13372#true} is VALID [2022-04-28 10:31:39,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:39,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:39,851 INFO L290 TraceCheckUtils]: 3: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 4: Hoare triple {13372#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 5: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 6: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 10: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-28 10:31:39,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:39,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:39,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13403#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:39,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {13403#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13404#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:39,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {13404#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,879 INFO L290 TraceCheckUtils]: 3: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,880 INFO L290 TraceCheckUtils]: 4: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,880 INFO L290 TraceCheckUtils]: 6: Hoare triple {13405#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:31:39,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:31:39,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {13373#false} is VALID [2022-04-28 10:31:39,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-28 10:31:39,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-28 10:31:39,881 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-28 10:31:39,882 INFO L272 TraceCheckUtils]: 0: Hoare triple {13372#true} call ULTIMATE.init(); {13402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {13402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {13372#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 6: Hoare triple {13372#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L272 TraceCheckUtils]: 7: Hoare triple {13372#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:39,882 INFO L290 TraceCheckUtils]: 10: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {13372#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {13372#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13372#true} is VALID [2022-04-28 10:31:39,883 INFO L272 TraceCheckUtils]: 22: Hoare triple {13372#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:39,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13403#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:39,884 INFO L290 TraceCheckUtils]: 24: Hoare triple {13403#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13404#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:39,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {13404#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,885 INFO L290 TraceCheckUtils]: 28: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:39,885 INFO L290 TraceCheckUtils]: 29: Hoare triple {13405#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:31:39,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:31:39,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {13373#false} is VALID [2022-04-28 10:31:39,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-28 10:31:39,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-28 10:31:39,886 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-28 10:31:39,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {13373#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {13373#false} is VALID [2022-04-28 10:31:39,886 INFO L272 TraceCheckUtils]: 36: Hoare triple {13373#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {13373#false} is VALID [2022-04-28 10:31:39,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-28 10:31:39,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-28 10:31:39,887 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-28 10:31:39,887 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:39,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:39,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257037408] [2022-04-28 10:31:39,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257037408] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:39,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680040407] [2022-04-28 10:31:39,887 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:31:39,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:39,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:39,898 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:39,900 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 10:31:39,945 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-28 10:31:39,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:39,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 10:31:39,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:39,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:40,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {13372#true} call ULTIMATE.init(); {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {13372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {13372#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13372#true} is VALID [2022-04-28 10:31:40,096 INFO L290 TraceCheckUtils]: 6: Hoare triple {13372#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L272 TraceCheckUtils]: 7: Hoare triple {13372#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 10: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {13372#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-28 10:31:40,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:40,098 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-28 10:31:40,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {13372#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13372#true} is VALID [2022-04-28 10:31:40,099 INFO L272 TraceCheckUtils]: 22: Hoare triple {13372#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:40,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13403#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:40,100 INFO L290 TraceCheckUtils]: 24: Hoare triple {13403#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13404#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:40,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {13404#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,104 INFO L290 TraceCheckUtils]: 28: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,104 INFO L290 TraceCheckUtils]: 29: Hoare triple {13405#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {13498#(and (<= student_version_~x~1 0) (<= 2 student_version_~i~1))} is VALID [2022-04-28 10:31:40,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {13498#(and (<= student_version_~x~1 0) (<= 2 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {13502#(and (<= 2 student_version_~i~1) (<= student_version_~x~1 1))} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {13502#(and (<= 2 student_version_~i~1) (<= student_version_~x~1 1))} assume !(~x~1 < ~i~1); {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {13373#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L272 TraceCheckUtils]: 36: Hoare triple {13373#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-28 10:31:40,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-28 10:31:40,106 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:40,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:40,215 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L272 TraceCheckUtils]: 36: Hoare triple {13373#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {13373#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-28 10:31:40,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-28 10:31:40,216 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-28 10:31:40,216 INFO L290 TraceCheckUtils]: 31: Hoare triple {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {13373#false} is VALID [2022-04-28 10:31:40,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {13407#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:31:40,217 INFO L290 TraceCheckUtils]: 29: Hoare triple {13405#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {13406#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:31:40,217 INFO L290 TraceCheckUtils]: 28: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {13405#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {13404#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13405#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:31:40,219 INFO L290 TraceCheckUtils]: 24: Hoare triple {13403#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13404#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:31:40,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13403#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:31:40,219 INFO L272 TraceCheckUtils]: 22: Hoare triple {13372#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:40,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {13372#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13372#true} is VALID [2022-04-28 10:31:40,219 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-28 10:31:40,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:40,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 16: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 15: Hoare triple {13372#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {13372#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 10: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {13372#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {13372#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L272 TraceCheckUtils]: 7: Hoare triple {13372#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {13372#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {13372#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13372#true} is VALID [2022-04-28 10:31:40,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-28 10:31:40,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-28 10:31:40,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-28 10:31:40,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {13372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13372#true} is VALID [2022-04-28 10:31:40,221 INFO L272 TraceCheckUtils]: 0: Hoare triple {13372#true} call ULTIMATE.init(); {13372#true} is VALID [2022-04-28 10:31:40,221 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:31:40,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680040407] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:40,221 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:40,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-28 10:31:40,221 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:40,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2093026178] [2022-04-28 10:31:40,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2093026178] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:40,222 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:40,222 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:31:40,222 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927969905] [2022-04-28 10:31:40,222 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:40,222 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2022-04-28 10:31:40,222 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:40,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:40,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:40,244 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:31:40,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:40,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:31:40,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:31:40,245 INFO L87 Difference]: Start difference. First operand 97 states and 114 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:40,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:40,810 INFO L93 Difference]: Finished difference Result 115 states and 134 transitions. [2022-04-28 10:31:40,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:31:40,810 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2022-04-28 10:31:40,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:40,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:40,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-28 10:31:40,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:40,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-28 10:31:40,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 59 transitions. [2022-04-28 10:31:40,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:40,864 INFO L225 Difference]: With dead ends: 115 [2022-04-28 10:31:40,864 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 10:31:40,864 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:31:40,864 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 52 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 100 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 51 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 100 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:40,865 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 51 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:31:40,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 10:31:41,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2022-04-28 10:31:41,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:41,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:41,289 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:41,289 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:41,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:41,290 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 10:31:41,290 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 10:31:41,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:41,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:41,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Second operand 100 states. [2022-04-28 10:31:41,291 INFO L87 Difference]: Start difference. First operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Second operand 100 states. [2022-04-28 10:31:41,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:41,292 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 10:31:41,292 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 10:31:41,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:41,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:41,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:41,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:41,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 88 states have internal predecessors, (100), 8 states have call successors, (8), 5 states have call predecessors, (8), 9 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-28 10:31:41,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 117 transitions. [2022-04-28 10:31:41,294 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 117 transitions. Word has length 40 [2022-04-28 10:31:41,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:41,294 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 117 transitions. [2022-04-28 10:31:41,294 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:31:41,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 117 transitions. [2022-04-28 10:31:41,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:41,441 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 10:31:41,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 10:31:41,441 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:41,441 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:41,457 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:41,655 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 10:31:41,655 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:41,655 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:41,656 INFO L85 PathProgramCache]: Analyzing trace with hash -1943349171, now seen corresponding path program 25 times [2022-04-28 10:31:41,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:41,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [545249364] [2022-04-28 10:31:41,658 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:41,658 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:41,658 INFO L85 PathProgramCache]: Analyzing trace with hash -1943349171, now seen corresponding path program 26 times [2022-04-28 10:31:41,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:41,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1470798735] [2022-04-28 10:31:41,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:41,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:41,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:41,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:41,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:41,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {14328#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14291#true} is VALID [2022-04-28 10:31:41,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-28 10:31:41,732 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-28 10:31:41,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:41,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:41,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,832 INFO L290 TraceCheckUtils]: 3: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:41,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:41,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:41,833 INFO L290 TraceCheckUtils]: 6: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:41,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:31:41,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:41,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:41,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:41,835 INFO L290 TraceCheckUtils]: 11: Hoare triple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:41,835 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {14291#true} #111#return; {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:31:41,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:41,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:41,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,967 INFO L290 TraceCheckUtils]: 3: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:41,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:41,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:41,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:41,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:31:41,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:41,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:41,970 INFO L290 TraceCheckUtils]: 10: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:41,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:41,971 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {14324#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:41,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {14291#true} call ULTIMATE.init(); {14328#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:41,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {14328#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {14291#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L290 TraceCheckUtils]: 6: Hoare triple {14291#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14291#true} is VALID [2022-04-28 10:31:41,972 INFO L272 TraceCheckUtils]: 7: Hoare triple {14291#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:41,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,973 INFO L290 TraceCheckUtils]: 10: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:41,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:41,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:41,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:41,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:41,975 INFO L290 TraceCheckUtils]: 15: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:31:41,976 INFO L290 TraceCheckUtils]: 16: Hoare triple {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:41,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:41,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:41,977 INFO L290 TraceCheckUtils]: 19: Hoare triple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:41,977 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {14291#true} #111#return; {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:31:41,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:31:41,978 INFO L272 TraceCheckUtils]: 22: Hoare triple {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:41,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,979 INFO L290 TraceCheckUtils]: 24: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:41,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:41,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:41,980 INFO L290 TraceCheckUtils]: 28: Hoare triple {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:41,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:41,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:31:41,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:41,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:41,982 INFO L290 TraceCheckUtils]: 33: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:41,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:41,983 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {14324#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:41,984 INFO L290 TraceCheckUtils]: 36: Hoare triple {14324#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14325#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:41,984 INFO L272 TraceCheckUtils]: 37: Hoare triple {14325#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14326#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:41,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {14326#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {14327#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:41,985 INFO L290 TraceCheckUtils]: 39: Hoare triple {14327#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14292#false} is VALID [2022-04-28 10:31:41,985 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-28 10:31:41,985 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:41,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:41,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1470798735] [2022-04-28 10:31:41,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1470798735] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:41,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [372931249] [2022-04-28 10:31:41,985 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:41,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:41,986 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:41,986 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:41,987 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 10:31:42,039 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:42,039 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:42,040 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 10:31:42,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:42,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:42,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {14291#true} call ULTIMATE.init(); {14291#true} is VALID [2022-04-28 10:31:42,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {14291#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14291#true} is VALID [2022-04-28 10:31:42,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-28 10:31:42,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-28 10:31:42,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-28 10:31:42,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {14291#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14291#true} is VALID [2022-04-28 10:31:42,515 INFO L290 TraceCheckUtils]: 6: Hoare triple {14291#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14291#true} is VALID [2022-04-28 10:31:42,515 INFO L272 TraceCheckUtils]: 7: Hoare triple {14291#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:42,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:42,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:42,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:42,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:42,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {14391#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:42,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {14391#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:42,519 INFO L290 TraceCheckUtils]: 17: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:42,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:42,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:42,520 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {14291#true} #111#return; {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:31:42,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:31:42,520 INFO L272 TraceCheckUtils]: 22: Hoare triple {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:42,521 INFO L290 TraceCheckUtils]: 23: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,521 INFO L290 TraceCheckUtils]: 24: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:42,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:42,523 INFO L290 TraceCheckUtils]: 28: Hoare triple {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:42,523 INFO L290 TraceCheckUtils]: 29: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:42,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {14437#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:42,524 INFO L290 TraceCheckUtils]: 31: Hoare triple {14437#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:42,524 INFO L290 TraceCheckUtils]: 32: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:42,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:42,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:42,526 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {14453#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} is VALID [2022-04-28 10:31:42,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {14453#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14457#(and (<= main_~n_stones2~0 3) (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3) (<= 3 main_~n_stones2~0))} is VALID [2022-04-28 10:31:42,527 INFO L272 TraceCheckUtils]: 37: Hoare triple {14457#(and (<= main_~n_stones2~0 3) (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3) (<= 3 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:42,527 INFO L290 TraceCheckUtils]: 38: Hoare triple {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:42,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {14465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14292#false} is VALID [2022-04-28 10:31:42,527 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-28 10:31:42,527 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:42,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:42,918 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-28 10:31:42,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {14465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14292#false} is VALID [2022-04-28 10:31:42,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:42,919 INFO L272 TraceCheckUtils]: 37: Hoare triple {14325#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:42,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {14324#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14325#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:42,920 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {14324#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:42,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:42,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {14342#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:31:42,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:42,922 INFO L290 TraceCheckUtils]: 31: Hoare triple {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {14341#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:31:42,922 INFO L290 TraceCheckUtils]: 30: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {14340#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:31:42,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:42,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14339#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:31:42,923 INFO L290 TraceCheckUtils]: 27: Hoare triple {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14338#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:31:42,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {14337#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:42,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14336#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:42,925 INFO L272 TraceCheckUtils]: 22: Hoare triple {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:42,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14310#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:31:42,926 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {14291#true} #111#return; {14309#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:31:42,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:42,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {14335#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:31:42,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:42,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {14334#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:31:42,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {14333#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:31:42,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:42,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14332#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:31:42,929 INFO L290 TraceCheckUtils]: 12: Hoare triple {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14331#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:31:42,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {14330#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:42,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {14291#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14329#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:42,931 INFO L272 TraceCheckUtils]: 7: Hoare triple {14291#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {14291#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {14291#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {14291#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {14291#true} call ULTIMATE.init(); {14291#true} is VALID [2022-04-28 10:31:42,931 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:31:42,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [372931249] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:42,932 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:42,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 29 [2022-04-28 10:31:42,932 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:42,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [545249364] [2022-04-28 10:31:42,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [545249364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:42,932 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:42,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:31:42,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2146593534] [2022-04-28 10:31:42,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:42,932 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-28 10:31:42,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:42,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:42,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:42,960 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:31:42,960 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:42,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:31:42,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=747, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:31:42,960 INFO L87 Difference]: Start difference. First operand 100 states and 117 transitions. Second operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:45,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:45,676 INFO L93 Difference]: Finished difference Result 140 states and 164 transitions. [2022-04-28 10:31:45,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:31:45,677 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-28 10:31:45,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:45,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:45,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-28 10:31:45,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:45,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-28 10:31:45,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 110 transitions. [2022-04-28 10:31:45,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:45,771 INFO L225 Difference]: With dead ends: 140 [2022-04-28 10:31:45,771 INFO L226 Difference]: Without dead ends: 134 [2022-04-28 10:31:45,772 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 76 SyntacticMatches, 5 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 343 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=178, Invalid=2272, Unknown=0, NotChecked=0, Total=2450 [2022-04-28 10:31:45,772 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 105 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 1406 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 1438 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 1406 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:45,772 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 151 Invalid, 1438 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1406 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 10:31:45,773 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-04-28 10:31:46,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 116. [2022-04-28 10:31:46,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:46,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-28 10:31:46,281 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-28 10:31:46,282 INFO L87 Difference]: Start difference. First operand 134 states. Second operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-28 10:31:46,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:46,284 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-28 10:31:46,284 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-28 10:31:46,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:46,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:46,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) Second operand 134 states. [2022-04-28 10:31:46,285 INFO L87 Difference]: Start difference. First operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) Second operand 134 states. [2022-04-28 10:31:46,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:46,286 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-28 10:31:46,286 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-28 10:31:46,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:46,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:46,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:46,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:46,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 95 states have (on average 1.2105263157894737) internal successors, (115), 103 states have internal predecessors, (115), 9 states have call successors, (9), 5 states have call predecessors, (9), 11 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-28 10:31:46,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 136 transitions. [2022-04-28 10:31:46,288 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 136 transitions. Word has length 41 [2022-04-28 10:31:46,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:46,289 INFO L495 AbstractCegarLoop]: Abstraction has 116 states and 136 transitions. [2022-04-28 10:31:46,289 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:46,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 136 transitions. [2022-04-28 10:31:46,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:46,475 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 136 transitions. [2022-04-28 10:31:46,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 10:31:46,476 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:46,476 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:46,492 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 10:31:46,676 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 10:31:46,677 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:46,677 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:46,677 INFO L85 PathProgramCache]: Analyzing trace with hash -196254195, now seen corresponding path program 27 times [2022-04-28 10:31:46,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:46,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1718184741] [2022-04-28 10:31:46,680 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:46,680 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:46,683 INFO L85 PathProgramCache]: Analyzing trace with hash -196254195, now seen corresponding path program 28 times [2022-04-28 10:31:46,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:46,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [279970672] [2022-04-28 10:31:46,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:46,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:46,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:46,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:46,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:46,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {15454#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15417#true} is VALID [2022-04-28 10:31:46,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-28 10:31:46,773 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-28 10:31:46,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:46,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:46,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,873 INFO L290 TraceCheckUtils]: 3: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,873 INFO L290 TraceCheckUtils]: 4: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:46,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:46,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} is VALID [2022-04-28 10:31:46,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:46,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:46,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:46,876 INFO L290 TraceCheckUtils]: 10: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:46,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:46,877 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {15417#true} #111#return; {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:46,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:46,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:46,978 INFO L290 TraceCheckUtils]: 0: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,980 INFO L290 TraceCheckUtils]: 3: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,980 INFO L290 TraceCheckUtils]: 4: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:46,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:46,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:31:46,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:46,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:46,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:46,982 INFO L290 TraceCheckUtils]: 10: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:46,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:46,984 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {15450#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:46,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {15417#true} call ULTIMATE.init(); {15454#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:46,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {15454#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15417#true} is VALID [2022-04-28 10:31:46,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-28 10:31:46,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-28 10:31:46,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-28 10:31:46,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {15417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15417#true} is VALID [2022-04-28 10:31:46,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {15417#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15417#true} is VALID [2022-04-28 10:31:46,985 INFO L272 TraceCheckUtils]: 7: Hoare triple {15417#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:46,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,986 INFO L290 TraceCheckUtils]: 10: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:46,986 INFO L290 TraceCheckUtils]: 12: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:46,987 INFO L290 TraceCheckUtils]: 13: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:46,987 INFO L290 TraceCheckUtils]: 14: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} is VALID [2022-04-28 10:31:46,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:46,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:46,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:46,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:46,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:46,996 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {15417#true} #111#return; {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:46,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:46,996 INFO L272 TraceCheckUtils]: 22: Hoare triple {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:46,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,997 INFO L290 TraceCheckUtils]: 24: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,997 INFO L290 TraceCheckUtils]: 25: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,997 INFO L290 TraceCheckUtils]: 26: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:46,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:46,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:46,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:31:46,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:47,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:47,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:47,000 INFO L290 TraceCheckUtils]: 33: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:47,001 INFO L290 TraceCheckUtils]: 34: Hoare triple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:47,001 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {15450#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:47,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {15450#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15451#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:47,002 INFO L272 TraceCheckUtils]: 37: Hoare triple {15451#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15452#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:31:47,003 INFO L290 TraceCheckUtils]: 38: Hoare triple {15452#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {15453#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:31:47,003 INFO L290 TraceCheckUtils]: 39: Hoare triple {15453#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15418#false} is VALID [2022-04-28 10:31:47,003 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-28 10:31:47,003 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:47,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:47,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [279970672] [2022-04-28 10:31:47,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [279970672] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:47,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1507794353] [2022-04-28 10:31:47,004 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:31:47,004 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:47,004 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:47,005 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:47,005 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 10:31:47,056 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:31:47,057 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:47,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:31:47,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:47,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:47,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {15417#true} call ULTIMATE.init(); {15417#true} is VALID [2022-04-28 10:31:47,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {15417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {15417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {15417#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L272 TraceCheckUtils]: 7: Hoare triple {15417#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:47,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:47,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:47,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:47,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:47,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:47,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:47,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {15512#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:47,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {15512#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15516#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:47,606 INFO L290 TraceCheckUtils]: 16: Hoare triple {15516#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:47,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:47,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:47,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:47,608 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {15417#true} #111#return; {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:47,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:47,608 INFO L272 TraceCheckUtils]: 22: Hoare triple {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:47,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:47,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:47,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:47,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:47,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:47,611 INFO L290 TraceCheckUtils]: 28: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:47,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {15559#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:47,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {15559#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15563#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:31:47,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {15563#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:47,612 INFO L290 TraceCheckUtils]: 32: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:47,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:47,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:47,613 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {15579#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} is VALID [2022-04-28 10:31:47,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {15579#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15583#(and (<= 2 main_~n_stones1~0) (<= 2 main_~n_stones2~0) (<= main_~n_stones1~0 2) (<= main_~n_stones2~0 2))} is VALID [2022-04-28 10:31:47,614 INFO L272 TraceCheckUtils]: 37: Hoare triple {15583#(and (<= 2 main_~n_stones1~0) (<= 2 main_~n_stones2~0) (<= main_~n_stones1~0 2) (<= main_~n_stones2~0 2))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:47,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:47,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {15591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15418#false} is VALID [2022-04-28 10:31:47,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-28 10:31:47,615 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:47,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:48,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-28 10:31:48,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {15591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15418#false} is VALID [2022-04-28 10:31:48,018 INFO L290 TraceCheckUtils]: 38: Hoare triple {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:31:48,018 INFO L272 TraceCheckUtils]: 37: Hoare triple {15451#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:31:48,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {15450#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15451#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:31:48,020 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {15450#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:31:48,020 INFO L290 TraceCheckUtils]: 34: Hoare triple {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:48,020 INFO L290 TraceCheckUtils]: 33: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {15466#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-28 10:31:48,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:48,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15465#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-28 10:31:48,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {15464#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-28 10:31:48,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {15463#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 2) (<= 2 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:31:48,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:48,023 INFO L290 TraceCheckUtils]: 27: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {15462#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:31:48,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:48,023 INFO L290 TraceCheckUtils]: 25: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:48,024 INFO L290 TraceCheckUtils]: 24: Hoare triple {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:48,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15461#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:31:48,024 INFO L272 TraceCheckUtils]: 22: Hoare triple {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:48,025 INFO L290 TraceCheckUtils]: 21: Hoare triple {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15436#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-28 10:31:48,025 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {15417#true} #111#return; {15435#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-28 10:31:48,025 INFO L290 TraceCheckUtils]: 19: Hoare triple {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:48,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {15460#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-28 10:31:48,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:48,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15459#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-28 10:31:48,027 INFO L290 TraceCheckUtils]: 15: Hoare triple {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {15458#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:31:48,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {15457#(and (<= 2 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 2))} is VALID [2022-04-28 10:31:48,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:48,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {15456#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:31:48,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:48,029 INFO L290 TraceCheckUtils]: 10: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:48,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:48,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {15417#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15455#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:31:48,030 INFO L272 TraceCheckUtils]: 7: Hoare triple {15417#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L290 TraceCheckUtils]: 6: Hoare triple {15417#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {15417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {15417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L272 TraceCheckUtils]: 0: Hoare triple {15417#true} call ULTIMATE.init(); {15417#true} is VALID [2022-04-28 10:31:48,030 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:31:48,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1507794353] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:48,031 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:48,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 29 [2022-04-28 10:31:48,031 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:48,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1718184741] [2022-04-28 10:31:48,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1718184741] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:48,031 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:48,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:31:48,031 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93652746] [2022-04-28 10:31:48,031 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:48,032 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-28 10:31:48,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:48,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:48,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:48,055 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:31:48,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:48,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:31:48,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=743, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:31:48,056 INFO L87 Difference]: Start difference. First operand 116 states and 136 transitions. Second operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:50,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:50,034 INFO L93 Difference]: Finished difference Result 134 states and 157 transitions. [2022-04-28 10:31:50,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:31:50,035 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-28 10:31:50,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:50,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:50,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-28 10:31:50,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:50,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-28 10:31:50,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 80 transitions. [2022-04-28 10:31:50,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:50,100 INFO L225 Difference]: With dead ends: 134 [2022-04-28 10:31:50,100 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 10:31:50,101 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 70 SyntacticMatches, 9 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 362 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=180, Invalid=2076, Unknown=0, NotChecked=0, Total=2256 [2022-04-28 10:31:50,101 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 59 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 830 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 858 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 830 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:50,102 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 123 Invalid, 858 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 830 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:31:50,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 10:31:50,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-28 10:31:50,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:50,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:50,693 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:50,694 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:50,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:50,695 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-28 10:31:50,695 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-28 10:31:50,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:50,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:50,696 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 128 states. [2022-04-28 10:31:50,696 INFO L87 Difference]: Start difference. First operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 128 states. [2022-04-28 10:31:50,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:50,698 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-28 10:31:50,698 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-28 10:31:50,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:50,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:50,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:50,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:50,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 102 states have (on average 1.2156862745098038) internal successors, (124), 112 states have internal predecessors, (124), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:50,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 149 transitions. [2022-04-28 10:31:50,700 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 149 transitions. Word has length 41 [2022-04-28 10:31:50,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:50,700 INFO L495 AbstractCegarLoop]: Abstraction has 126 states and 149 transitions. [2022-04-28 10:31:50,700 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:50,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 149 transitions. [2022-04-28 10:31:50,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:50,893 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 149 transitions. [2022-04-28 10:31:50,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 10:31:50,893 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:50,893 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:50,912 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 10:31:51,107 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:51,107 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:51,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:51,108 INFO L85 PathProgramCache]: Analyzing trace with hash -1133754580, now seen corresponding path program 29 times [2022-04-28 10:31:51,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:51,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [432169489] [2022-04-28 10:31:51,113 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:51,113 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:51,113 INFO L85 PathProgramCache]: Analyzing trace with hash -1133754580, now seen corresponding path program 30 times [2022-04-28 10:31:51,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:51,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1584845662] [2022-04-28 10:31:51,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:51,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:51,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:51,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:51,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:51,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {16568#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16535#true} is VALID [2022-04-28 10:31:51,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-28 10:31:51,190 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-28 10:31:51,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:51,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:51,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16570#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:31:51,280 INFO L290 TraceCheckUtils]: 4: Hoare triple {16570#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16571#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:51,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {16571#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16572#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:51,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {16572#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,282 INFO L290 TraceCheckUtils]: 10: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,283 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {16535#true} #111#return; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:51,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:31:51,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:51,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16575#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:51,377 INFO L290 TraceCheckUtils]: 4: Hoare triple {16575#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16576#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {16576#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16577#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,378 INFO L290 TraceCheckUtils]: 6: Hoare triple {16577#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16578#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {16578#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,379 INFO L290 TraceCheckUtils]: 10: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,380 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {16553#(<= main_~m~0 (* main_~a~0 3))} #113#return; {16536#false} is VALID [2022-04-28 10:31:51,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {16535#true} call ULTIMATE.init(); {16568#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:51,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {16568#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {16535#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L290 TraceCheckUtils]: 6: Hoare triple {16535#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16535#true} is VALID [2022-04-28 10:31:51,381 INFO L272 TraceCheckUtils]: 7: Hoare triple {16535#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:51,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:31:51,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {16569#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16570#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:31:51,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {16570#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16571#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:51,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {16571#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16572#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:51,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {16572#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,394 INFO L290 TraceCheckUtils]: 15: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:51,396 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {16535#true} #111#return; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:51,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:51,397 INFO L272 TraceCheckUtils]: 22: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:51,397 INFO L290 TraceCheckUtils]: 23: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {16574#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16575#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:51,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {16575#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16576#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,399 INFO L290 TraceCheckUtils]: 28: Hoare triple {16576#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16577#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,400 INFO L290 TraceCheckUtils]: 29: Hoare triple {16577#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16578#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:51,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {16578#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:51,403 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {16553#(<= main_~m~0 (* main_~a~0 3))} #113#return; {16536#false} is VALID [2022-04-28 10:31:51,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {16536#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16536#false} is VALID [2022-04-28 10:31:51,403 INFO L272 TraceCheckUtils]: 38: Hoare triple {16536#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16536#false} is VALID [2022-04-28 10:31:51,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-28 10:31:51,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-28 10:31:51,403 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-28 10:31:51,404 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:51,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:51,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1584845662] [2022-04-28 10:31:51,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1584845662] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:51,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1923303848] [2022-04-28 10:31:51,404 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:31:51,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:51,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:51,405 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:51,405 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 10:31:51,453 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:31:51,453 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:51,454 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:31:51,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:51,465 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:52,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {16535#true} call ULTIMATE.init(); {16535#true} is VALID [2022-04-28 10:31:52,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {16535#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16535#true} is VALID [2022-04-28 10:31:52,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-28 10:31:52,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-28 10:31:52,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-28 10:31:52,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {16535#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16535#true} is VALID [2022-04-28 10:31:52,193 INFO L290 TraceCheckUtils]: 6: Hoare triple {16535#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16535#true} is VALID [2022-04-28 10:31:52,193 INFO L272 TraceCheckUtils]: 7: Hoare triple {16535#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:52,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,194 INFO L290 TraceCheckUtils]: 10: Hoare triple {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,194 INFO L290 TraceCheckUtils]: 11: Hoare triple {16607#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16617#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {16617#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16621#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {16621#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16625#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 3)) |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {16625#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 3)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,197 INFO L290 TraceCheckUtils]: 16: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:52,198 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {16535#true} #111#return; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:52,198 INFO L290 TraceCheckUtils]: 21: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:52,198 INFO L272 TraceCheckUtils]: 22: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:52,199 INFO L290 TraceCheckUtils]: 23: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:52,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:52,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:52,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {16656#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16666#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:31:52,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {16666#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16670#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:31:52,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {16670#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16674#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 3)))} is VALID [2022-04-28 10:31:52,202 INFO L290 TraceCheckUtils]: 29: Hoare triple {16674#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 3)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:52,204 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {16553#(<= main_~m~0 (* main_~a~0 3))} #113#return; {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {16536#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L272 TraceCheckUtils]: 38: Hoare triple {16536#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-28 10:31:52,204 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:52,204 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:53,246 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-28 10:31:53,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-28 10:31:53,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-28 10:31:53,246 INFO L272 TraceCheckUtils]: 38: Hoare triple {16536#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16536#false} is VALID [2022-04-28 10:31:53,247 INFO L290 TraceCheckUtils]: 37: Hoare triple {16536#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16536#false} is VALID [2022-04-28 10:31:53,247 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {16553#(<= main_~m~0 (* main_~a~0 3))} #113#return; {16536#false} is VALID [2022-04-28 10:31:53,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,248 INFO L290 TraceCheckUtils]: 34: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,249 INFO L290 TraceCheckUtils]: 29: Hoare triple {16753#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16579#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:31:53,250 INFO L290 TraceCheckUtils]: 28: Hoare triple {16757#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16753#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:31:53,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {16761#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16757#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:31:53,251 INFO L290 TraceCheckUtils]: 26: Hoare triple {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16761#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:31:53,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} assume !(~b~1 < ~n); {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:31:53,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:31:53,252 INFO L290 TraceCheckUtils]: 23: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16765#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:31:53,253 INFO L272 TraceCheckUtils]: 22: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:53,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {16553#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:53,254 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {16535#true} #111#return; {16553#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-28 10:31:53,254 INFO L290 TraceCheckUtils]: 19: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {16802#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {16573#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:31:53,256 INFO L290 TraceCheckUtils]: 13: Hoare triple {16806#(or (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16802#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,257 INFO L290 TraceCheckUtils]: 12: Hoare triple {16810#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16806#(or (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,257 INFO L290 TraceCheckUtils]: 11: Hoare triple {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16810#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {16535#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16814#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:31:53,259 INFO L272 TraceCheckUtils]: 7: Hoare triple {16535#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L290 TraceCheckUtils]: 6: Hoare triple {16535#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {16535#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {16535#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {16535#true} call ULTIMATE.init(); {16535#true} is VALID [2022-04-28 10:31:53,259 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:53,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1923303848] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:53,259 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:53,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-28 10:31:53,260 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:53,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [432169489] [2022-04-28 10:31:53,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [432169489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:53,260 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:53,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 10:31:53,260 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1228342755] [2022-04-28 10:31:53,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:53,260 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:31:53,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:53,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:53,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:53,289 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 10:31:53,289 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:53,289 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 10:31:53,289 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:31:53,289 INFO L87 Difference]: Start difference. First operand 126 states and 149 transitions. Second operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:55,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:55,390 INFO L93 Difference]: Finished difference Result 152 states and 180 transitions. [2022-04-28 10:31:55,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 10:31:55,390 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:31:55,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:31:55,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:55,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-28 10:31:55,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:55,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-28 10:31:55,392 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 98 transitions. [2022-04-28 10:31:55,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:55,485 INFO L225 Difference]: With dead ends: 152 [2022-04-28 10:31:55,485 INFO L226 Difference]: Without dead ends: 138 [2022-04-28 10:31:55,486 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 202 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=168, Invalid=1554, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 10:31:55,486 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 105 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 878 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 894 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 878 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:31:55,486 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [112 Valid, 118 Invalid, 894 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 878 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:31:55,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-28 10:31:56,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 129. [2022-04-28 10:31:56,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:31:56,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:56,093 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:56,093 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:56,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:56,095 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-28 10:31:56,095 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-28 10:31:56,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:56,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:56,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 138 states. [2022-04-28 10:31:56,096 INFO L87 Difference]: Start difference. First operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 138 states. [2022-04-28 10:31:56,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:31:56,098 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-28 10:31:56,098 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-28 10:31:56,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:31:56,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:31:56,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:31:56,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:31:56,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 105 states have (on average 1.2285714285714286) internal successors, (129), 115 states have internal predecessors, (129), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 10:31:56,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 154 transitions. [2022-04-28 10:31:56,100 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 154 transitions. Word has length 42 [2022-04-28 10:31:56,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:31:56,100 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 154 transitions. [2022-04-28 10:31:56,100 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:56,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 154 transitions. [2022-04-28 10:31:56,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:56,305 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-04-28 10:31:56,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 10:31:56,306 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:31:56,306 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:31:56,322 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-28 10:31:56,506 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:56,507 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:31:56,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:31:56,507 INFO L85 PathProgramCache]: Analyzing trace with hash 1181369487, now seen corresponding path program 31 times [2022-04-28 10:31:56,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:56,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2068998090] [2022-04-28 10:31:56,509 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:31:56,509 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:31:56,509 INFO L85 PathProgramCache]: Analyzing trace with hash 1181369487, now seen corresponding path program 32 times [2022-04-28 10:31:56,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:31:56,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1971440011] [2022-04-28 10:31:56,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:31:56,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:31:56,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:56,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:31:56,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:56,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {17740#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17707#true} is VALID [2022-04-28 10:31:56,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-28 10:31:56,549 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-28 10:31:56,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:31:56,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:56,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17742#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {17742#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17743#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {17743#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17744#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {17744#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17745#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:31:56,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {17745#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,619 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {17707#true} #111#return; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:56,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:31:56,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:56,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17748#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:31:56,695 INFO L290 TraceCheckUtils]: 4: Hoare triple {17748#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17749#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:31:56,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {17749#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17750#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:56,696 INFO L290 TraceCheckUtils]: 6: Hoare triple {17750#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,700 INFO L290 TraceCheckUtils]: 10: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,701 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {17708#false} is VALID [2022-04-28 10:31:56,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {17707#true} call ULTIMATE.init(); {17740#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:31:56,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {17740#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17707#true} is VALID [2022-04-28 10:31:56,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-28 10:31:56,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-28 10:31:56,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-28 10:31:56,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {17707#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17707#true} is VALID [2022-04-28 10:31:56,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {17707#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17707#true} is VALID [2022-04-28 10:31:56,702 INFO L272 TraceCheckUtils]: 7: Hoare triple {17707#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:56,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,703 INFO L290 TraceCheckUtils]: 11: Hoare triple {17741#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17742#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,704 INFO L290 TraceCheckUtils]: 12: Hoare triple {17742#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17743#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {17743#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17744#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:56,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {17744#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17745#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:31:56,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {17745#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:56,707 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {17707#true} #111#return; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:56,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:56,708 INFO L272 TraceCheckUtils]: 23: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:56,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:31:56,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {17747#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17748#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:31:56,710 INFO L290 TraceCheckUtils]: 28: Hoare triple {17748#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17749#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:31:56,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {17749#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17750#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:56,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {17750#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,711 INFO L290 TraceCheckUtils]: 32: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:56,713 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L290 TraceCheckUtils]: 37: Hoare triple {17708#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L272 TraceCheckUtils]: 38: Hoare triple {17708#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-28 10:31:56,713 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:56,713 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:31:56,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1971440011] [2022-04-28 10:31:56,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1971440011] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:31:56,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1125904585] [2022-04-28 10:31:56,714 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:31:56,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:31:56,714 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:31:56,715 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:31:56,715 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 10:31:56,764 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:31:56,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:31:56,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:31:56,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:31:56,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:31:57,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {17707#true} call ULTIMATE.init(); {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {17707#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {17707#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L290 TraceCheckUtils]: 6: Hoare triple {17707#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L272 TraceCheckUtils]: 7: Hoare triple {17707#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:57,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:57,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:57,474 INFO L290 TraceCheckUtils]: 10: Hoare triple {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:57,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {17779#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17789#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:57,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {17789#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17793#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:31:57,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {17793#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17797#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 3)))} is VALID [2022-04-28 10:31:57,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {17797#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 3)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,477 INFO L290 TraceCheckUtils]: 15: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,477 INFO L290 TraceCheckUtils]: 16: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:57,479 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {17707#true} #111#return; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:57,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:57,480 INFO L272 TraceCheckUtils]: 23: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:57,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:57,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:57,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:57,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {17831#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17841#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:31:57,482 INFO L290 TraceCheckUtils]: 28: Hoare triple {17841#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17845#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:31:57,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {17845#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17849#(and (<= (div (- student_version_~l~1) (- 3)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:31:57,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {17849#(and (<= (div (- student_version_~l~1) (- 3)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,484 INFO L290 TraceCheckUtils]: 32: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,484 INFO L290 TraceCheckUtils]: 34: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:57,485 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {17708#false} is VALID [2022-04-28 10:31:57,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {17708#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17708#false} is VALID [2022-04-28 10:31:57,485 INFO L272 TraceCheckUtils]: 38: Hoare triple {17708#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17708#false} is VALID [2022-04-28 10:31:57,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-28 10:31:57,486 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-28 10:31:57,486 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-28 10:31:57,486 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:57,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:31:58,504 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-28 10:31:58,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-28 10:31:58,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-28 10:31:58,504 INFO L272 TraceCheckUtils]: 38: Hoare triple {17708#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17708#false} is VALID [2022-04-28 10:31:58,504 INFO L290 TraceCheckUtils]: 37: Hoare triple {17708#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17708#false} is VALID [2022-04-28 10:31:58,513 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {17708#false} is VALID [2022-04-28 10:31:58,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {17922#(or (<= |student_version_#in~m| (* |student_version_#in~a| 3)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {17751#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:31:58,515 INFO L290 TraceCheckUtils]: 29: Hoare triple {17926#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17922#(or (<= |student_version_#in~m| (* |student_version_#in~a| 3)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:31:58,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {17930#(or (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17926#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:31:58,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17930#(or (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:31:58,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} assume !(~b~1 < ~n); {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:31:58,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:31:58,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17934#(or (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:31:58,517 INFO L272 TraceCheckUtils]: 23: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:58,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:58,518 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {17707#true} #111#return; {17726#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-28 10:31:58,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,520 INFO L290 TraceCheckUtils]: 15: Hoare triple {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {17974#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17746#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:31:58,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {17978#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17974#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:31:58,522 INFO L290 TraceCheckUtils]: 12: Hoare triple {17982#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17978#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:58,522 INFO L290 TraceCheckUtils]: 11: Hoare triple {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17982#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:58,523 INFO L290 TraceCheckUtils]: 10: Hoare triple {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:58,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:58,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {17707#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17986#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:31:58,523 INFO L272 TraceCheckUtils]: 7: Hoare triple {17707#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {17707#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {17707#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {17707#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {17707#true} call ULTIMATE.init(); {17707#true} is VALID [2022-04-28 10:31:58,524 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:31:58,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1125904585] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:31:58,524 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:31:58,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-28 10:31:58,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:31:58,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2068998090] [2022-04-28 10:31:58,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2068998090] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:31:58,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:31:58,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 10:31:58,525 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1725688287] [2022-04-28 10:31:58,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:31:58,525 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:31:58,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:31:58,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:31:58,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:31:58,551 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 10:31:58,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:31:58,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 10:31:58,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:31:58,552 INFO L87 Difference]: Start difference. First operand 129 states and 154 transitions. Second operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:00,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:00,631 INFO L93 Difference]: Finished difference Result 144 states and 169 transitions. [2022-04-28 10:32:00,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 10:32:00,631 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:32:00,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:00,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:00,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-04-28 10:32:00,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:00,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-04-28 10:32:00,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 97 transitions. [2022-04-28 10:32:00,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:00,711 INFO L225 Difference]: With dead ends: 144 [2022-04-28 10:32:00,711 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 10:32:00,712 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 209 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=168, Invalid=1554, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 10:32:00,712 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 107 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 901 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 916 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 901 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:00,712 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [114 Valid, 120 Invalid, 916 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 901 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:32:00,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 10:32:01,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-28 10:32:01,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:01,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:01,334 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:01,335 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:01,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:01,336 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-28 10:32:01,336 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-28 10:32:01,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:01,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:01,337 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 132 states. [2022-04-28 10:32:01,337 INFO L87 Difference]: Start difference. First operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 132 states. [2022-04-28 10:32:01,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:01,338 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-28 10:32:01,338 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-28 10:32:01,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:01,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:01,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:01,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:01,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 106 states have (on average 1.2264150943396226) internal successors, (130), 116 states have internal predecessors, (130), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:01,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 154 transitions. [2022-04-28 10:32:01,340 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 154 transitions. Word has length 42 [2022-04-28 10:32:01,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:01,341 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 154 transitions. [2022-04-28 10:32:01,341 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 14 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:01,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 154 transitions. [2022-04-28 10:32:01,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:01,541 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 154 transitions. [2022-04-28 10:32:01,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 10:32:01,541 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:01,541 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:01,557 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-28 10:32:01,742 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 10:32:01,742 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:01,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:01,742 INFO L85 PathProgramCache]: Analyzing trace with hash -439775891, now seen corresponding path program 33 times [2022-04-28 10:32:01,743 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:01,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2048635051] [2022-04-28 10:32:01,745 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:01,745 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:01,745 INFO L85 PathProgramCache]: Analyzing trace with hash -439775891, now seen corresponding path program 34 times [2022-04-28 10:32:01,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:01,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843988712] [2022-04-28 10:32:01,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:01,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:01,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:01,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:01,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:01,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {18885#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18853#true} is VALID [2022-04-28 10:32:01,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:01,786 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-28 10:32:01,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:01,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18853#true} is VALID [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 3: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 4: Hoare triple {18853#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {18853#true} is VALID [2022-04-28 10:32:01,793 INFO L290 TraceCheckUtils]: 5: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 6: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-28 10:32:01,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:01,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:01,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18886#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:32:01,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {18886#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18887#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:32:01,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {18887#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,843 INFO L290 TraceCheckUtils]: 3: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,843 INFO L290 TraceCheckUtils]: 4: Hoare triple {18888#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {18888#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:32:01,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:32:01,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18891#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:32:01,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {18891#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18854#false} is VALID [2022-04-28 10:32:01,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-28 10:32:01,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-28 10:32:01,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-28 10:32:01,846 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-28 10:32:01,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {18853#true} call ULTIMATE.init(); {18885#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {18885#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {18853#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 6: Hoare triple {18853#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L272 TraceCheckUtils]: 7: Hoare triple {18853#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 10: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 12: Hoare triple {18853#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {18853#true} is VALID [2022-04-28 10:32:01,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 16: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {18853#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L272 TraceCheckUtils]: 22: Hoare triple {18853#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:01,848 INFO L290 TraceCheckUtils]: 23: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18886#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:32:01,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {18886#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18887#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:32:01,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {18887#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,850 INFO L290 TraceCheckUtils]: 27: Hoare triple {18888#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,850 INFO L290 TraceCheckUtils]: 28: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:01,851 INFO L290 TraceCheckUtils]: 29: Hoare triple {18888#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:32:01,851 INFO L290 TraceCheckUtils]: 30: Hoare triple {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:32:01,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18891#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:32:01,852 INFO L290 TraceCheckUtils]: 32: Hoare triple {18891#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18854#false} is VALID [2022-04-28 10:32:01,852 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-28 10:32:01,852 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-28 10:32:01,852 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-28 10:32:01,852 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L290 TraceCheckUtils]: 37: Hoare triple {18854#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L272 TraceCheckUtils]: 38: Hoare triple {18854#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-28 10:32:01,853 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:01,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:01,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843988712] [2022-04-28 10:32:01,853 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [843988712] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:01,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [463868196] [2022-04-28 10:32:01,853 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:01,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:01,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:01,854 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:01,855 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 10:32:01,937 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:01,937 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:01,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 10:32:01,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:01,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:02,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {18853#true} call ULTIMATE.init(); {18853#true} is VALID [2022-04-28 10:32:02,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {18853#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18853#true} is VALID [2022-04-28 10:32:02,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:02,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-28 10:32:02,076 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {18853#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {18853#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L272 TraceCheckUtils]: 7: Hoare triple {18853#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 12: Hoare triple {18853#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 15: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 16: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-28 10:32:02,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-28 10:32:02,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:02,078 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-28 10:32:02,078 INFO L290 TraceCheckUtils]: 21: Hoare triple {18853#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18853#true} is VALID [2022-04-28 10:32:02,078 INFO L272 TraceCheckUtils]: 22: Hoare triple {18853#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:02,078 INFO L290 TraceCheckUtils]: 23: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18886#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:32:02,079 INFO L290 TraceCheckUtils]: 24: Hoare triple {18886#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18887#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:32:02,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {18887#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,080 INFO L290 TraceCheckUtils]: 26: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,080 INFO L290 TraceCheckUtils]: 27: Hoare triple {18888#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,080 INFO L290 TraceCheckUtils]: 28: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,080 INFO L290 TraceCheckUtils]: 29: Hoare triple {18888#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {18982#(and (<= student_version_~i~1 2) (<= 0 student_version_~x~1))} is VALID [2022-04-28 10:32:02,081 INFO L290 TraceCheckUtils]: 30: Hoare triple {18982#(and (<= student_version_~i~1 2) (<= 0 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18986#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:32:02,082 INFO L290 TraceCheckUtils]: 31: Hoare triple {18986#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18990#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:32:02,082 INFO L290 TraceCheckUtils]: 32: Hoare triple {18990#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18854#false} is VALID [2022-04-28 10:32:02,082 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-28 10:32:02,082 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-28 10:32:02,082 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-28 10:32:02,082 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L290 TraceCheckUtils]: 37: Hoare triple {18854#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L272 TraceCheckUtils]: 38: Hoare triple {18854#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-28 10:32:02,083 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:02,083 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:02,196 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-28 10:32:02,196 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-28 10:32:02,196 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-28 10:32:02,196 INFO L272 TraceCheckUtils]: 38: Hoare triple {18854#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L290 TraceCheckUtils]: 37: Hoare triple {18854#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-28 10:32:02,197 INFO L290 TraceCheckUtils]: 32: Hoare triple {18891#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18854#false} is VALID [2022-04-28 10:32:02,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18891#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:32:02,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {18890#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:32:02,198 INFO L290 TraceCheckUtils]: 29: Hoare triple {18888#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {18889#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:32:02,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {18888#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,199 INFO L290 TraceCheckUtils]: 26: Hoare triple {18888#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {18887#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18888#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:32:02,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {18886#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18887#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:32:02,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18886#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:32:02,201 INFO L272 TraceCheckUtils]: 22: Hoare triple {18853#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {18853#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 15: Hoare triple {18853#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 12: Hoare triple {18853#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:02,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {18853#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {18853#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L272 TraceCheckUtils]: 7: Hoare triple {18853#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {18853#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {18853#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {18853#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {18853#true} call ULTIMATE.init(); {18853#true} is VALID [2022-04-28 10:32:02,202 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:02,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [463868196] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:02,202 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:02,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-28 10:32:02,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:02,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2048635051] [2022-04-28 10:32:02,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2048635051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:02,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:02,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:32:02,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1932195824] [2022-04-28 10:32:02,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:02,203 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2022-04-28 10:32:02,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:02,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:02,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:02,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:32:02,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:02,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:32:02,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:32:02,225 INFO L87 Difference]: Start difference. First operand 130 states and 154 transitions. Second operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:03,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:03,286 INFO L93 Difference]: Finished difference Result 186 states and 223 transitions. [2022-04-28 10:32:03,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:32:03,286 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2022-04-28 10:32:03,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:03,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:03,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-28 10:32:03,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:03,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-28 10:32:03,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 70 transitions. [2022-04-28 10:32:03,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:03,356 INFO L225 Difference]: With dead ends: 186 [2022-04-28 10:32:03,356 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 10:32:03,357 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=114, Invalid=306, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:32:03,358 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 57 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:03,358 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 53 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:32:03,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 10:32:04,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 152. [2022-04-28 10:32:04,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:04,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:04,126 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:04,126 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:04,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:04,128 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-28 10:32:04,128 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-28 10:32:04,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:04,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:04,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 164 states. [2022-04-28 10:32:04,129 INFO L87 Difference]: Start difference. First operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 164 states. [2022-04-28 10:32:04,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:04,132 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-28 10:32:04,132 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-28 10:32:04,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:04,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:04,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:04,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:04,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 128 states have (on average 1.2265625) internal successors, (157), 138 states have internal predecessors, (157), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:04,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 181 transitions. [2022-04-28 10:32:04,135 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 181 transitions. Word has length 42 [2022-04-28 10:32:04,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:04,135 INFO L495 AbstractCegarLoop]: Abstraction has 152 states and 181 transitions. [2022-04-28 10:32:04,135 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:04,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 152 states and 181 transitions. [2022-04-28 10:32:04,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:04,385 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 181 transitions. [2022-04-28 10:32:04,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 10:32:04,385 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:04,386 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:04,402 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:04,586 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 10:32:04,586 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:04,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:04,586 INFO L85 PathProgramCache]: Analyzing trace with hash -466729134, now seen corresponding path program 35 times [2022-04-28 10:32:04,587 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:04,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1015826099] [2022-04-28 10:32:04,589 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:04,589 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:04,589 INFO L85 PathProgramCache]: Analyzing trace with hash -466729134, now seen corresponding path program 36 times [2022-04-28 10:32:04,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:04,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [147210890] [2022-04-28 10:32:04,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:04,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:04,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:04,609 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:04,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:04,611 INFO L290 TraceCheckUtils]: 0: Hoare triple {20200#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {20168#true} is VALID [2022-04-28 10:32:04,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:04,612 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-28 10:32:04,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:04,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:04,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {20201#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:32:04,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {20201#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20202#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:32:04,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {20202#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,647 INFO L290 TraceCheckUtils]: 3: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,647 INFO L290 TraceCheckUtils]: 4: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {20203#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:32:04,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:32:04,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20206#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:32:04,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {20206#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20169#false} is VALID [2022-04-28 10:32:04,649 INFO L290 TraceCheckUtils]: 10: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-28 10:32:04,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-28 10:32:04,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-28 10:32:04,649 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-28 10:32:04,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:32:04,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 0: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 3: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 4: Hoare triple {20168#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 5: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 6: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 7: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:04,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L290 TraceCheckUtils]: 10: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-28 10:32:04,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {20168#true} call ULTIMATE.init(); {20200#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:04,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {20200#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:04,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-28 10:32:04,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-28 10:32:04,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {20168#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {20168#true} is VALID [2022-04-28 10:32:04,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {20168#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {20168#true} is VALID [2022-04-28 10:32:04,656 INFO L272 TraceCheckUtils]: 7: Hoare triple {20168#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {20168#true} is VALID [2022-04-28 10:32:04,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {20201#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:32:04,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {20201#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20202#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:32:04,657 INFO L290 TraceCheckUtils]: 10: Hoare triple {20202#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,657 INFO L290 TraceCheckUtils]: 12: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {20203#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:32:04,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:32:04,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20206#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:32:04,659 INFO L290 TraceCheckUtils]: 17: Hoare triple {20206#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20169#false} is VALID [2022-04-28 10:32:04,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-28 10:32:04,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-28 10:32:04,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-28 10:32:04,659 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {20169#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {20169#false} is VALID [2022-04-28 10:32:04,660 INFO L272 TraceCheckUtils]: 23: Hoare triple {20169#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 28: Hoare triple {20168#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 31: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 32: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L290 TraceCheckUtils]: 35: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:04,660 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L290 TraceCheckUtils]: 37: Hoare triple {20169#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L272 TraceCheckUtils]: 38: Hoare triple {20169#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-28 10:32:04,661 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:04,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:04,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [147210890] [2022-04-28 10:32:04,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [147210890] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:04,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [132275222] [2022-04-28 10:32:04,661 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:04,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:04,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:04,662 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:04,663 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 10:32:04,714 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:32:04,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:04,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 10:32:04,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:04,723 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:04,910 INFO L272 TraceCheckUtils]: 0: Hoare triple {20168#true} call ULTIMATE.init(); {20168#true} is VALID [2022-04-28 10:32:04,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {20168#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {20168#true} is VALID [2022-04-28 10:32:04,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:04,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-28 10:32:04,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-28 10:32:04,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {20168#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {20168#true} is VALID [2022-04-28 10:32:04,911 INFO L290 TraceCheckUtils]: 6: Hoare triple {20168#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {20168#true} is VALID [2022-04-28 10:32:04,911 INFO L272 TraceCheckUtils]: 7: Hoare triple {20168#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {20168#true} is VALID [2022-04-28 10:32:04,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {20201#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:32:04,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {20201#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20202#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:32:04,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {20202#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:04,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {20203#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {20252#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:32:04,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {20252#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20256#(and (<= correct_version_~i~0 2) (<= 1 correct_version_~x~0))} is VALID [2022-04-28 10:32:04,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {20256#(and (<= correct_version_~i~0 2) (<= 1 correct_version_~x~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20260#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:32:04,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {20260#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20169#false} is VALID [2022-04-28 10:32:04,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-28 10:32:04,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 22: Hoare triple {20169#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L272 TraceCheckUtils]: 23: Hoare triple {20169#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 24: Hoare triple {20169#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {20169#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {20169#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {20169#false} assume !(~b~1 < ~n); {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 28: Hoare triple {20169#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 29: Hoare triple {20169#false} assume !(~l~1 < ~m); {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 30: Hoare triple {20169#false} ~x~1 := 0;~y~1 := 0; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {20169#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 32: Hoare triple {20169#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20169#false} is VALID [2022-04-28 10:32:04,915 INFO L290 TraceCheckUtils]: 33: Hoare triple {20169#false} assume !(~x~1 < ~i~1); {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {20169#false} #res := ~y~1; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20169#false} {20169#false} #113#return; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {20169#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L272 TraceCheckUtils]: 38: Hoare triple {20169#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-28 10:32:04,916 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:04,916 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:05,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-28 10:32:05,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-28 10:32:05,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-28 10:32:05,033 INFO L272 TraceCheckUtils]: 38: Hoare triple {20169#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {20169#false} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {20169#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {20169#false} is VALID [2022-04-28 10:32:05,034 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 34: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {20168#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {20168#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {20168#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {20168#true} is VALID [2022-04-28 10:32:05,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20168#true} is VALID [2022-04-28 10:32:05,035 INFO L272 TraceCheckUtils]: 23: Hoare triple {20169#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {20168#true} is VALID [2022-04-28 10:32:05,035 INFO L290 TraceCheckUtils]: 22: Hoare triple {20169#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {20169#false} is VALID [2022-04-28 10:32:05,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-28 10:32:05,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-28 10:32:05,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-28 10:32:05,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-28 10:32:05,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {20206#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20169#false} is VALID [2022-04-28 10:32:05,036 INFO L290 TraceCheckUtils]: 16: Hoare triple {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20206#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:32:05,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {20205#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:32:05,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {20203#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {20204#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:32:05,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:05,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:05,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {20203#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:05,038 INFO L290 TraceCheckUtils]: 10: Hoare triple {20202#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20203#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:32:05,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {20201#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {20202#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:32:05,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {20168#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {20201#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:32:05,038 INFO L272 TraceCheckUtils]: 7: Hoare triple {20168#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {20168#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {20168#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {20168#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {20168#true} call ULTIMATE.init(); {20168#true} is VALID [2022-04-28 10:32:05,039 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:32:05,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [132275222] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:05,039 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:05,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-28 10:32:05,040 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:05,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1015826099] [2022-04-28 10:32:05,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1015826099] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:05,040 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:05,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:32:05,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1982851097] [2022-04-28 10:32:05,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:05,040 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:32:05,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:05,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:05,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:05,061 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:32:05,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:05,062 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:32:05,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:32:05,062 INFO L87 Difference]: Start difference. First operand 152 states and 181 transitions. Second operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:06,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:06,292 INFO L93 Difference]: Finished difference Result 290 states and 347 transitions. [2022-04-28 10:32:06,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:32:06,292 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-28 10:32:06,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:06,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:06,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-28 10:32:06,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:06,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-28 10:32:06,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 83 transitions. [2022-04-28 10:32:06,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:06,364 INFO L225 Difference]: With dead ends: 290 [2022-04-28 10:32:06,364 INFO L226 Difference]: Without dead ends: 186 [2022-04-28 10:32:06,365 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=114, Invalid=306, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:32:06,365 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 57 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:06,366 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 53 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:32:06,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-28 10:32:07,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 174. [2022-04-28 10:32:07,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:07,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:07,261 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:07,261 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:07,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:07,265 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-28 10:32:07,265 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-28 10:32:07,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:07,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:07,266 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 186 states. [2022-04-28 10:32:07,266 INFO L87 Difference]: Start difference. First operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 186 states. [2022-04-28 10:32:07,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:07,269 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-28 10:32:07,269 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-28 10:32:07,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:07,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:07,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:07,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:07,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 150 states have (on average 1.2266666666666666) internal successors, (184), 160 states have internal predecessors, (184), 10 states have call successors, (10), 5 states have call predecessors, (10), 13 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-04-28 10:32:07,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 208 transitions. [2022-04-28 10:32:07,273 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 208 transitions. Word has length 42 [2022-04-28 10:32:07,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:07,273 INFO L495 AbstractCegarLoop]: Abstraction has 174 states and 208 transitions. [2022-04-28 10:32:07,273 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:07,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 174 states and 208 transitions. [2022-04-28 10:32:07,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:07,566 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 208 transitions. [2022-04-28 10:32:07,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:32:07,567 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:07,567 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:07,587 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:07,783 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 10:32:07,783 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:07,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:07,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1243243306, now seen corresponding path program 37 times [2022-04-28 10:32:07,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:07,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [132422195] [2022-04-28 10:32:07,785 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:07,786 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:07,786 INFO L85 PathProgramCache]: Analyzing trace with hash 1243243306, now seen corresponding path program 38 times [2022-04-28 10:32:07,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:07,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [813315480] [2022-04-28 10:32:07,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:07,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:07,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:07,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:07,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:07,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {21818#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21779#true} is VALID [2022-04-28 10:32:07,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-28 10:32:07,866 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-28 10:32:07,866 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:07,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:08,011 INFO L290 TraceCheckUtils]: 0: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,013 INFO L290 TraceCheckUtils]: 3: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:08,013 INFO L290 TraceCheckUtils]: 4: Hoare triple {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:08,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:08,014 INFO L290 TraceCheckUtils]: 6: Hoare triple {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:08,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,017 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21779#true} #111#return; {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:08,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:32:08,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:08,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:08,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:08,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:08,181 INFO L290 TraceCheckUtils]: 6: Hoare triple {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:08,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,184 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21814#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:08,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {21779#true} call ULTIMATE.init(); {21818#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:08,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {21818#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {21779#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {21779#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L272 TraceCheckUtils]: 7: Hoare triple {21779#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:08,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,191 INFO L290 TraceCheckUtils]: 9: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,191 INFO L290 TraceCheckUtils]: 10: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:08,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:08,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:08,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:08,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,196 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21779#true} #111#return; {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:08,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:08,197 INFO L272 TraceCheckUtils]: 23: Hoare triple {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:08,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:08,198 INFO L290 TraceCheckUtils]: 28: Hoare triple {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:08,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:08,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:08,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,201 INFO L290 TraceCheckUtils]: 36: Hoare triple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,202 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21814#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:08,203 INFO L290 TraceCheckUtils]: 38: Hoare triple {21814#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {21815#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:08,203 INFO L272 TraceCheckUtils]: 39: Hoare triple {21815#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {21816#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:32:08,203 INFO L290 TraceCheckUtils]: 40: Hoare triple {21816#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {21817#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:32:08,204 INFO L290 TraceCheckUtils]: 41: Hoare triple {21817#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {21780#false} is VALID [2022-04-28 10:32:08,204 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-28 10:32:08,204 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:08,204 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:08,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [813315480] [2022-04-28 10:32:08,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [813315480] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:08,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1738452384] [2022-04-28 10:32:08,204 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:08,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:08,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:08,205 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:08,208 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 10:32:08,260 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:08,260 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:08,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:32:08,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:08,268 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:08,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {21779#true} call ULTIMATE.init(); {21779#true} is VALID [2022-04-28 10:32:08,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {21779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21779#true} is VALID [2022-04-28 10:32:08,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-28 10:32:08,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-28 10:32:08,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-28 10:32:08,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {21779#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21779#true} is VALID [2022-04-28 10:32:08,729 INFO L290 TraceCheckUtils]: 6: Hoare triple {21779#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21779#true} is VALID [2022-04-28 10:32:08,729 INFO L272 TraceCheckUtils]: 7: Hoare triple {21779#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:08,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,730 INFO L290 TraceCheckUtils]: 10: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:08,730 INFO L290 TraceCheckUtils]: 11: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:08,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:08,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:08,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {21886#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:08,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {21886#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:08,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:08,734 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21779#true} #111#return; {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:08,735 INFO L290 TraceCheckUtils]: 22: Hoare triple {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:08,735 INFO L272 TraceCheckUtils]: 23: Hoare triple {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:08,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:08,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:08,737 INFO L290 TraceCheckUtils]: 28: Hoare triple {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:08,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:08,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,738 INFO L290 TraceCheckUtils]: 32: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {21935#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:08,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {21935#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,739 INFO L290 TraceCheckUtils]: 34: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:08,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:08,740 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21951#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-28 10:32:08,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {21951#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {21955#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} is VALID [2022-04-28 10:32:08,741 INFO L272 TraceCheckUtils]: 39: Hoare triple {21955#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:08,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:08,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {21963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21780#false} is VALID [2022-04-28 10:32:08,742 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-28 10:32:08,742 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:08,742 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:09,150 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-28 10:32:09,150 INFO L290 TraceCheckUtils]: 41: Hoare triple {21963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21780#false} is VALID [2022-04-28 10:32:09,150 INFO L290 TraceCheckUtils]: 40: Hoare triple {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:09,151 INFO L272 TraceCheckUtils]: 39: Hoare triple {21815#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:09,151 INFO L290 TraceCheckUtils]: 38: Hoare triple {21814#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {21815#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:09,152 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21814#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:09,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:09,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21834#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:09,153 INFO L290 TraceCheckUtils]: 34: Hoare triple {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:09,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {21833#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:09,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {21832#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:09,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:09,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21831#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:09,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21830#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:09,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21829#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:09,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {21828#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:09,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:09,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:09,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21827#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:09,157 INFO L272 TraceCheckUtils]: 23: Hoare triple {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:09,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21799#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:09,158 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21779#true} #111#return; {21798#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:09,158 INFO L290 TraceCheckUtils]: 20: Hoare triple {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:09,159 INFO L290 TraceCheckUtils]: 19: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21826#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:09,159 INFO L290 TraceCheckUtils]: 18: Hoare triple {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:09,159 INFO L290 TraceCheckUtils]: 17: Hoare triple {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {21825#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:09,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {21824#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:09,160 INFO L290 TraceCheckUtils]: 15: Hoare triple {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:09,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21823#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:09,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21822#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:09,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21821#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:09,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {21820#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:09,162 INFO L290 TraceCheckUtils]: 10: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:09,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:09,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {21779#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21819#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:09,163 INFO L272 TraceCheckUtils]: 7: Hoare triple {21779#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21779#true} is VALID [2022-04-28 10:32:09,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {21779#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21779#true} is VALID [2022-04-28 10:32:09,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {21779#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21779#true} is VALID [2022-04-28 10:32:09,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-28 10:32:09,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-28 10:32:09,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-28 10:32:09,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {21779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21779#true} is VALID [2022-04-28 10:32:09,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {21779#true} call ULTIMATE.init(); {21779#true} is VALID [2022-04-28 10:32:09,164 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:09,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1738452384] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:09,164 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:09,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 31 [2022-04-28 10:32:09,164 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:09,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [132422195] [2022-04-28 10:32:09,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [132422195] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:09,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:09,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:32:09,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [123654833] [2022-04-28 10:32:09,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:09,165 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:09,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:09,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:09,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:09,195 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:32:09,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:09,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:32:09,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=861, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:32:09,196 INFO L87 Difference]: Start difference. First operand 174 states and 208 transitions. Second operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:13,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:13,070 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-28 10:32:13,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:32:13,073 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:13,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:13,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:13,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-28 10:32:13,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:13,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-28 10:32:13,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 126 transitions. [2022-04-28 10:32:13,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:13,185 INFO L225 Difference]: With dead ends: 224 [2022-04-28 10:32:13,185 INFO L226 Difference]: Without dead ends: 218 [2022-04-28 10:32:13,186 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 80 SyntacticMatches, 5 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 398 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=190, Invalid=2672, Unknown=0, NotChecked=0, Total=2862 [2022-04-28 10:32:13,187 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 130 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1875 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 135 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 1911 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1875 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:13,187 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [135 Valid, 170 Invalid, 1911 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1875 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 10:32:13,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-28 10:32:14,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 190. [2022-04-28 10:32:14,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:14,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) [2022-04-28 10:32:14,170 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) [2022-04-28 10:32:14,170 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) [2022-04-28 10:32:14,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:14,173 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-28 10:32:14,173 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-28 10:32:14,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:14,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:14,174 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) Second operand 218 states. [2022-04-28 10:32:14,174 INFO L87 Difference]: Start difference. First operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) Second operand 218 states. [2022-04-28 10:32:14,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:14,177 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-28 10:32:14,177 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-28 10:32:14,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:14,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:14,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:14,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:14,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 163 states have (on average 1.2208588957055215) internal successors, (199), 175 states have internal predecessors, (199), 11 states have call successors, (11), 5 states have call predecessors, (11), 15 states have return successors, (17), 9 states have call predecessors, (17), 9 states have call successors, (17) [2022-04-28 10:32:14,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 227 transitions. [2022-04-28 10:32:14,180 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 227 transitions. Word has length 43 [2022-04-28 10:32:14,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:14,180 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 227 transitions. [2022-04-28 10:32:14,180 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:14,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 227 transitions. [2022-04-28 10:32:14,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 227 edges. 227 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:14,500 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 227 transitions. [2022-04-28 10:32:14,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:32:14,500 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:14,500 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:14,516 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:14,701 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 10:32:14,701 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:14,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:14,701 INFO L85 PathProgramCache]: Analyzing trace with hash 1453763067, now seen corresponding path program 39 times [2022-04-28 10:32:14,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:14,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1948540767] [2022-04-28 10:32:14,703 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:14,703 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:14,703 INFO L85 PathProgramCache]: Analyzing trace with hash 1453763067, now seen corresponding path program 40 times [2022-04-28 10:32:14,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:14,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409048687] [2022-04-28 10:32:14,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:14,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:14,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:14,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:14,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:14,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {23443#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {23409#true} is VALID [2022-04-28 10:32:14,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-28 10:32:14,735 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-28 10:32:14,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:14,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:14,787 INFO L290 TraceCheckUtils]: 0: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {23444#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:14,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {23444#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23445#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:14,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {23445#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23446#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:32:14,789 INFO L290 TraceCheckUtils]: 3: Hoare triple {23446#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !(~b~0 < ~n); {23447#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} is VALID [2022-04-28 10:32:14,789 INFO L290 TraceCheckUtils]: 4: Hoare triple {23447#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,790 INFO L290 TraceCheckUtils]: 6: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,791 INFO L290 TraceCheckUtils]: 10: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,792 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {23409#true} #111#return; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:14,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:14,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:14,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {23449#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {23449#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23450#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {23450#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23451#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,882 INFO L290 TraceCheckUtils]: 3: Hoare triple {23451#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23452#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,882 INFO L290 TraceCheckUtils]: 4: Hoare triple {23452#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {23453#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:32:14,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {23453#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,884 INFO L290 TraceCheckUtils]: 10: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,885 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {23427#(<= main_~n~0 (* main_~a~0 2))} #113#return; {23410#false} is VALID [2022-04-28 10:32:14,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {23409#true} call ULTIMATE.init(); {23443#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:14,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {23443#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {23409#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {23409#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {23409#true} is VALID [2022-04-28 10:32:14,886 INFO L272 TraceCheckUtils]: 7: Hoare triple {23409#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:14,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {23444#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:14,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {23444#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23445#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:14,888 INFO L290 TraceCheckUtils]: 10: Hoare triple {23445#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23446#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:32:14,888 INFO L290 TraceCheckUtils]: 11: Hoare triple {23446#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !(~b~0 < ~n); {23447#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} is VALID [2022-04-28 10:32:14,889 INFO L290 TraceCheckUtils]: 12: Hoare triple {23447#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,890 INFO L290 TraceCheckUtils]: 16: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,890 INFO L290 TraceCheckUtils]: 17: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:14,892 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {23409#true} #111#return; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:14,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:14,892 INFO L272 TraceCheckUtils]: 22: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:14,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {23449#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {23449#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23450#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {23450#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23451#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {23451#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23452#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:14,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {23452#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {23453#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:32:14,895 INFO L290 TraceCheckUtils]: 28: Hoare triple {23453#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,895 INFO L290 TraceCheckUtils]: 29: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,897 INFO L290 TraceCheckUtils]: 35: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:14,898 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {23427#(<= main_~n~0 (* main_~a~0 2))} #113#return; {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {23410#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L272 TraceCheckUtils]: 39: Hoare triple {23410#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-28 10:32:14,898 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-28 10:32:14,898 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:14,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409048687] [2022-04-28 10:32:14,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [409048687] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:14,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1117234702] [2022-04-28 10:32:14,899 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:14,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:14,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:14,900 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:14,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 10:32:14,947 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:14,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:14,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:32:14,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:14,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:15,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {23409#true} call ULTIMATE.init(); {23409#true} is VALID [2022-04-28 10:32:15,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {23409#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {23409#true} is VALID [2022-04-28 10:32:15,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-28 10:32:15,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-28 10:32:15,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-28 10:32:15,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {23409#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {23409#true} is VALID [2022-04-28 10:32:15,568 INFO L290 TraceCheckUtils]: 6: Hoare triple {23409#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {23409#true} is VALID [2022-04-28 10:32:15,568 INFO L272 TraceCheckUtils]: 7: Hoare triple {23409#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:15,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {23482#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {23482#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23486#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,569 INFO L290 TraceCheckUtils]: 10: Hoare triple {23486#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23490#(and (<= (div (- correct_version_~b~0) (- 2)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-28 10:32:15,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {23490#(and (<= (div (- correct_version_~b~0) (- 2)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,571 INFO L290 TraceCheckUtils]: 15: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,571 INFO L290 TraceCheckUtils]: 16: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,571 INFO L290 TraceCheckUtils]: 17: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,572 INFO L290 TraceCheckUtils]: 18: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,572 INFO L290 TraceCheckUtils]: 19: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:15,573 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {23409#true} #111#return; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:15,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:15,573 INFO L272 TraceCheckUtils]: 22: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:15,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {23530#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:32:15,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {23530#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23534#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:32:15,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {23534#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23538#(and (<= |student_version_#in~a| (div student_version_~b~1 2)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:32:15,575 INFO L290 TraceCheckUtils]: 26: Hoare triple {23538#(and (<= |student_version_#in~a| (div student_version_~b~1 2)) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,575 INFO L290 TraceCheckUtils]: 27: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,577 INFO L290 TraceCheckUtils]: 33: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,577 INFO L290 TraceCheckUtils]: 34: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:15,578 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {23427#(<= main_~n~0 (* main_~a~0 2))} #113#return; {23410#false} is VALID [2022-04-28 10:32:15,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {23410#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {23410#false} is VALID [2022-04-28 10:32:15,578 INFO L272 TraceCheckUtils]: 39: Hoare triple {23410#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {23410#false} is VALID [2022-04-28 10:32:15,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-28 10:32:15,579 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-28 10:32:15,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-28 10:32:15,579 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-28 10:32:15,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:16,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-28 10:32:16,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-28 10:32:16,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-28 10:32:16,413 INFO L272 TraceCheckUtils]: 39: Hoare triple {23410#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {23410#false} is VALID [2022-04-28 10:32:16,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {23410#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {23410#false} is VALID [2022-04-28 10:32:16,413 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {23427#(<= main_~n~0 (* main_~a~0 2))} #113#return; {23410#false} is VALID [2022-04-28 10:32:16,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,414 INFO L290 TraceCheckUtils]: 34: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,414 INFO L290 TraceCheckUtils]: 33: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,416 INFO L290 TraceCheckUtils]: 28: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {23641#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23454#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:32:16,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {23645#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 student_version_~a)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23641#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} is VALID [2022-04-28 10:32:16,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {23649#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {23645#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 student_version_~a)))} is VALID [2022-04-28 10:32:16,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {23649#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:32:16,418 INFO L272 TraceCheckUtils]: 22: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:16,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {23427#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:16,419 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {23409#true} #111#return; {23427#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-28 10:32:16,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,420 INFO L290 TraceCheckUtils]: 16: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {23689#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {23448#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-28 10:32:16,422 INFO L290 TraceCheckUtils]: 10: Hoare triple {23693#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23689#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-28 10:32:16,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {23697#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {23693#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-28 10:32:16,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {23409#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {23697#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-28 10:32:16,423 INFO L272 TraceCheckUtils]: 7: Hoare triple {23409#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {23409#true} is VALID [2022-04-28 10:32:16,423 INFO L290 TraceCheckUtils]: 6: Hoare triple {23409#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {23409#true} is VALID [2022-04-28 10:32:16,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {23409#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {23409#true} is VALID [2022-04-28 10:32:16,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-28 10:32:16,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-28 10:32:16,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-28 10:32:16,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {23409#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {23409#true} is VALID [2022-04-28 10:32:16,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {23409#true} call ULTIMATE.init(); {23409#true} is VALID [2022-04-28 10:32:16,424 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-28 10:32:16,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1117234702] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:16,424 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:16,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-28 10:32:16,424 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:16,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1948540767] [2022-04-28 10:32:16,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1948540767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:16,424 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:16,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 10:32:16,424 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1236148881] [2022-04-28 10:32:16,425 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:16,425 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:16,425 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:16,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:16,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:16,449 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 10:32:16,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:16,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 10:32:16,451 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-28 10:32:16,451 INFO L87 Difference]: Start difference. First operand 190 states and 227 transitions. Second operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:18,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:18,780 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-28 10:32:18,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:32:18,780 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:18,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:18,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:18,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 90 transitions. [2022-04-28 10:32:18,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:18,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 90 transitions. [2022-04-28 10:32:18,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 90 transitions. [2022-04-28 10:32:18,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:18,857 INFO L225 Difference]: With dead ends: 230 [2022-04-28 10:32:18,857 INFO L226 Difference]: Without dead ends: 215 [2022-04-28 10:32:18,858 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=161, Invalid=1171, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:32:18,859 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 99 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 623 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 640 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 623 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:18,859 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [104 Valid, 101 Invalid, 640 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 623 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:32:18,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-28 10:32:20,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 210. [2022-04-28 10:32:20,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:20,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 215 states. Second operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:20,026 INFO L74 IsIncluded]: Start isIncluded. First operand 215 states. Second operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:20,026 INFO L87 Difference]: Start difference. First operand 215 states. Second operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:20,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:20,029 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-28 10:32:20,029 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-28 10:32:20,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:20,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:20,030 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) Second operand 215 states. [2022-04-28 10:32:20,030 INFO L87 Difference]: Start difference. First operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) Second operand 215 states. [2022-04-28 10:32:20,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:20,033 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-28 10:32:20,033 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-28 10:32:20,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:20,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:20,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:20,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:20,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 174 states have (on average 1.2011494252873562) internal successors, (209), 192 states have internal predecessors, (209), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:20,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 249 transitions. [2022-04-28 10:32:20,037 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 249 transitions. Word has length 43 [2022-04-28 10:32:20,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:20,037 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 249 transitions. [2022-04-28 10:32:20,037 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:20,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 210 states and 249 transitions. [2022-04-28 10:32:20,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 249 edges. 249 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:20,390 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 249 transitions. [2022-04-28 10:32:20,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:32:20,391 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:20,391 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:20,407 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:20,592 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:20,592 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:20,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:20,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1804610186, now seen corresponding path program 41 times [2022-04-28 10:32:20,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:20,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [352329861] [2022-04-28 10:32:20,594 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:20,594 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:20,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1804610186, now seen corresponding path program 42 times [2022-04-28 10:32:20,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:20,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1406978199] [2022-04-28 10:32:20,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:20,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:20,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:20,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {25093#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25054#true} is VALID [2022-04-28 10:32:20,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-28 10:32:20,674 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-28 10:32:20,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:20,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,787 INFO L290 TraceCheckUtils]: 3: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,788 INFO L290 TraceCheckUtils]: 4: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:20,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:20,788 INFO L290 TraceCheckUtils]: 6: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:20,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:32:20,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:20,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:20,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:20,790 INFO L290 TraceCheckUtils]: 11: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:20,791 INFO L290 TraceCheckUtils]: 12: Hoare triple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:20,791 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {25054#true} #111#return; {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:20,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:32:20,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,923 INFO L290 TraceCheckUtils]: 3: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:20,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:20,924 INFO L290 TraceCheckUtils]: 6: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:20,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:32:20,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:20,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:20,926 INFO L290 TraceCheckUtils]: 10: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:20,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:20,927 INFO L290 TraceCheckUtils]: 12: Hoare triple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:20,927 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {25089#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:20,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {25054#true} call ULTIMATE.init(); {25093#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:20,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {25093#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {25054#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L290 TraceCheckUtils]: 6: Hoare triple {25054#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25054#true} is VALID [2022-04-28 10:32:20,928 INFO L272 TraceCheckUtils]: 7: Hoare triple {25054#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:20,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,929 INFO L290 TraceCheckUtils]: 10: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:20,930 INFO L290 TraceCheckUtils]: 12: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:20,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:20,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:20,931 INFO L290 TraceCheckUtils]: 15: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:32:20,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:20,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:20,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:20,933 INFO L290 TraceCheckUtils]: 19: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:20,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:20,934 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {25054#true} #111#return; {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:20,934 INFO L290 TraceCheckUtils]: 22: Hoare triple {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:20,934 INFO L272 TraceCheckUtils]: 23: Hoare triple {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:20,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:20,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:20,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:20,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:20,937 INFO L290 TraceCheckUtils]: 31: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:32:20,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:20,938 INFO L290 TraceCheckUtils]: 33: Hoare triple {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:20,939 INFO L290 TraceCheckUtils]: 34: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:20,939 INFO L290 TraceCheckUtils]: 35: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:20,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:20,940 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {25089#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:20,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {25089#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25090#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:20,941 INFO L272 TraceCheckUtils]: 39: Hoare triple {25090#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25091#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:32:20,941 INFO L290 TraceCheckUtils]: 40: Hoare triple {25091#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {25092#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:32:20,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {25092#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25055#false} is VALID [2022-04-28 10:32:20,942 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-28 10:32:20,942 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:32:20,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:20,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1406978199] [2022-04-28 10:32:20,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1406978199] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:20,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [828525225] [2022-04-28 10:32:20,942 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:20,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:20,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:20,943 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:20,944 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 10:32:20,999 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-28 10:32:20,999 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:21,000 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 10:32:21,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,011 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:21,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {25054#true} call ULTIMATE.init(); {25054#true} is VALID [2022-04-28 10:32:21,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {25054#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25054#true} is VALID [2022-04-28 10:32:21,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-28 10:32:21,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-28 10:32:21,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-28 10:32:21,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {25054#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25054#true} is VALID [2022-04-28 10:32:21,560 INFO L290 TraceCheckUtils]: 6: Hoare triple {25054#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25054#true} is VALID [2022-04-28 10:32:21,560 INFO L272 TraceCheckUtils]: 7: Hoare triple {25054#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:21,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,561 INFO L290 TraceCheckUtils]: 11: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,562 INFO L290 TraceCheckUtils]: 12: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:21,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:21,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:21,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {25156#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:32:21,563 INFO L290 TraceCheckUtils]: 16: Hoare triple {25156#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25160#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:21,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {25160#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:21,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:21,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:21,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:21,565 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {25054#true} #111#return; {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:21,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:21,566 INFO L272 TraceCheckUtils]: 23: Hoare triple {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:21,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:21,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:21,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:21,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {25206#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:21,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {25206#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25210#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:32:21,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {25210#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:21,570 INFO L290 TraceCheckUtils]: 34: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:21,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:21,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:21,571 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {25226#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-28 10:32:21,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {25226#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25230#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} is VALID [2022-04-28 10:32:21,572 INFO L272 TraceCheckUtils]: 39: Hoare triple {25230#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:21,572 INFO L290 TraceCheckUtils]: 40: Hoare triple {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25238#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:21,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {25238#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25055#false} is VALID [2022-04-28 10:32:21,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-28 10:32:21,573 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:32:21,573 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:21,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-28 10:32:21,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {25238#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25055#false} is VALID [2022-04-28 10:32:21,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25238#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:21,977 INFO L272 TraceCheckUtils]: 39: Hoare triple {25090#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:21,978 INFO L290 TraceCheckUtils]: 38: Hoare triple {25089#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25090#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:21,979 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {25089#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:21,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:21,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {25107#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:32:21,980 INFO L290 TraceCheckUtils]: 34: Hoare triple {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:21,980 INFO L290 TraceCheckUtils]: 33: Hoare triple {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25106#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:32:21,981 INFO L290 TraceCheckUtils]: 32: Hoare triple {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {25105#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:32:21,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {25104#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:32:21,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:21,982 INFO L290 TraceCheckUtils]: 29: Hoare triple {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25103#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:21,982 INFO L290 TraceCheckUtils]: 28: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {25102#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:21,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,983 INFO L290 TraceCheckUtils]: 26: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,983 INFO L290 TraceCheckUtils]: 25: Hoare triple {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25101#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:21,984 INFO L272 TraceCheckUtils]: 23: Hoare triple {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:21,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25074#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:32:21,985 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {25054#true} #111#return; {25073#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:32:21,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:21,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {25100#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 17: Hoare triple {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25099#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:32:21,987 INFO L290 TraceCheckUtils]: 16: Hoare triple {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {25098#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:32:21,987 INFO L290 TraceCheckUtils]: 15: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {25097#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:32:21,987 INFO L290 TraceCheckUtils]: 14: Hoare triple {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:21,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25096#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:21,988 INFO L290 TraceCheckUtils]: 12: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {25095#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:21,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {25054#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25094#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:21,990 INFO L272 TraceCheckUtils]: 7: Hoare triple {25054#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L290 TraceCheckUtils]: 6: Hoare triple {25054#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {25054#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {25054#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L272 TraceCheckUtils]: 0: Hoare triple {25054#true} call ULTIMATE.init(); {25054#true} is VALID [2022-04-28 10:32:21,990 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:32:21,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [828525225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:21,990 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:21,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 31 [2022-04-28 10:32:21,991 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:21,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [352329861] [2022-04-28 10:32:21,991 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [352329861] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:21,991 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:21,991 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:32:21,991 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1523362724] [2022-04-28 10:32:21,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:21,991 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:21,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:21,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:22,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:22,016 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:32:22,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:22,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:32:22,017 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=857, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:32:22,017 INFO L87 Difference]: Start difference. First operand 210 states and 249 transitions. Second operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:25,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:25,128 INFO L93 Difference]: Finished difference Result 228 states and 271 transitions. [2022-04-28 10:32:25,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:32:25,128 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:25,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:25,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:25,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-28 10:32:25,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:25,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-28 10:32:25,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 96 transitions. [2022-04-28 10:32:25,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:25,213 INFO L225 Difference]: With dead ends: 228 [2022-04-28 10:32:25,213 INFO L226 Difference]: Without dead ends: 213 [2022-04-28 10:32:25,215 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 74 SyntacticMatches, 9 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 417 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=192, Invalid=2460, Unknown=0, NotChecked=0, Total=2652 [2022-04-28 10:32:25,215 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 1197 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 1226 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 1197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:25,215 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 143 Invalid, 1226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 1197 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 10:32:25,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213 states. [2022-04-28 10:32:26,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 213 to 208. [2022-04-28 10:32:26,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:26,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 213 states. Second operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:26,385 INFO L74 IsIncluded]: Start isIncluded. First operand 213 states. Second operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:26,385 INFO L87 Difference]: Start difference. First operand 213 states. Second operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:26,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:26,388 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-28 10:32:26,388 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-28 10:32:26,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:26,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:26,389 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) Second operand 213 states. [2022-04-28 10:32:26,389 INFO L87 Difference]: Start difference. First operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) Second operand 213 states. [2022-04-28 10:32:26,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:26,394 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-28 10:32:26,394 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-28 10:32:26,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:26,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:26,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:26,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:26,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 172 states have (on average 1.2093023255813953) internal successors, (208), 190 states have internal predecessors, (208), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (26), 12 states have call predecessors, (26), 12 states have call successors, (26) [2022-04-28 10:32:26,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 248 transitions. [2022-04-28 10:32:26,402 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 248 transitions. Word has length 43 [2022-04-28 10:32:26,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:26,402 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 248 transitions. [2022-04-28 10:32:26,403 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:26,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 248 transitions. [2022-04-28 10:32:26,753 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:26,753 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 248 transitions. [2022-04-28 10:32:26,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:32:26,754 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:26,754 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:26,771 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-28 10:32:26,970 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:26,971 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:26,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:26,971 INFO L85 PathProgramCache]: Analyzing trace with hash -2095538945, now seen corresponding path program 43 times [2022-04-28 10:32:26,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:26,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [122767068] [2022-04-28 10:32:26,973 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:26,973 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:26,973 INFO L85 PathProgramCache]: Analyzing trace with hash -2095538945, now seen corresponding path program 44 times [2022-04-28 10:32:26,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:26,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126907492] [2022-04-28 10:32:26,974 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:26,974 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:26,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:27,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:27,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:27,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {26748#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26714#true} is VALID [2022-04-28 10:32:27,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-28 10:32:27,003 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-28 10:32:27,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:27,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:27,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26749#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {26749#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26750#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {26750#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26751#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {26751#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26752#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) correct_version_~n))} is VALID [2022-04-28 10:32:27,081 INFO L290 TraceCheckUtils]: 4: Hoare triple {26752#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) correct_version_~n))} assume !(~b~0 < ~n); {26753#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:32:27,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {26753#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,082 INFO L290 TraceCheckUtils]: 7: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,082 INFO L290 TraceCheckUtils]: 9: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,083 INFO L290 TraceCheckUtils]: 10: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,083 INFO L290 TraceCheckUtils]: 12: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,084 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {26714#true} #111#return; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:27,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:32:27,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:27,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26755#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {26755#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26756#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {26756#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26757#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,160 INFO L290 TraceCheckUtils]: 3: Hoare triple {26757#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {26758#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} is VALID [2022-04-28 10:32:27,160 INFO L290 TraceCheckUtils]: 4: Hoare triple {26758#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,161 INFO L290 TraceCheckUtils]: 7: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,162 INFO L290 TraceCheckUtils]: 10: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,163 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {26715#false} is VALID [2022-04-28 10:32:27,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {26714#true} call ULTIMATE.init(); {26748#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:27,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {26748#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26714#true} is VALID [2022-04-28 10:32:27,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-28 10:32:27,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-28 10:32:27,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-28 10:32:27,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {26714#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26714#true} is VALID [2022-04-28 10:32:27,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {26714#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26714#true} is VALID [2022-04-28 10:32:27,164 INFO L272 TraceCheckUtils]: 7: Hoare triple {26714#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:27,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26749#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {26749#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26750#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {26750#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26751#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {26751#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26752#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) correct_version_~n))} is VALID [2022-04-28 10:32:27,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {26752#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) correct_version_~n))} assume !(~b~0 < ~n); {26753#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:32:27,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {26753#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,170 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {26714#true} #111#return; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:27,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:27,170 INFO L272 TraceCheckUtils]: 24: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:27,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26755#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {26755#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26756#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {26756#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26757#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,172 INFO L290 TraceCheckUtils]: 28: Hoare triple {26757#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {26758#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} is VALID [2022-04-28 10:32:27,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {26758#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,173 INFO L290 TraceCheckUtils]: 30: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,173 INFO L290 TraceCheckUtils]: 33: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,174 INFO L290 TraceCheckUtils]: 36: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,175 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {26715#false} is VALID [2022-04-28 10:32:27,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {26715#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26715#false} is VALID [2022-04-28 10:32:27,175 INFO L272 TraceCheckUtils]: 39: Hoare triple {26715#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26715#false} is VALID [2022-04-28 10:32:27,175 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-28 10:32:27,175 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-28 10:32:27,175 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-28 10:32:27,176 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-28 10:32:27,176 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:27,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1126907492] [2022-04-28 10:32:27,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1126907492] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:27,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [154498709] [2022-04-28 10:32:27,176 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:27,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:27,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:27,177 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:27,178 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 10:32:27,231 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:27,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:27,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:32:27,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:27,242 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:27,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {26714#true} call ULTIMATE.init(); {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {26714#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {26714#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26714#true} is VALID [2022-04-28 10:32:27,902 INFO L290 TraceCheckUtils]: 6: Hoare triple {26714#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26714#true} is VALID [2022-04-28 10:32:27,903 INFO L272 TraceCheckUtils]: 7: Hoare triple {26714#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:27,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26787#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {26787#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26791#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:27,904 INFO L290 TraceCheckUtils]: 10: Hoare triple {26791#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26795#(and (<= |correct_version_#in~a| (div correct_version_~b~0 2)) (<= correct_version_~n |correct_version_#in~n|))} is VALID [2022-04-28 10:32:27,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {26795#(and (<= |correct_version_#in~a| (div correct_version_~b~0 2)) (<= correct_version_~n |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:27,909 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {26714#true} #111#return; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:27,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:27,909 INFO L272 TraceCheckUtils]: 24: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:27,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26841#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:27,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {26841#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26845#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} is VALID [2022-04-28 10:32:27,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {26845#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26849#(and (<= (div (- student_version_~b~1) (- 2)) |student_version_#in~a|) (<= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:32:27,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {26849#(and (<= (div (- student_version_~b~1) (- 2)) |student_version_#in~a|) (<= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,912 INFO L290 TraceCheckUtils]: 32: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,912 INFO L290 TraceCheckUtils]: 33: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,913 INFO L290 TraceCheckUtils]: 34: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,913 INFO L290 TraceCheckUtils]: 35: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:27,914 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {26715#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L272 TraceCheckUtils]: 39: Hoare triple {26715#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-28 10:32:27,914 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-28 10:32:27,915 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:28,768 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-28 10:32:28,769 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-28 10:32:28,769 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-28 10:32:28,769 INFO L272 TraceCheckUtils]: 39: Hoare triple {26715#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26715#false} is VALID [2022-04-28 10:32:28,769 INFO L290 TraceCheckUtils]: 38: Hoare triple {26715#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26715#false} is VALID [2022-04-28 10:32:28,770 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {26715#false} is VALID [2022-04-28 10:32:28,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,771 INFO L290 TraceCheckUtils]: 33: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,771 INFO L290 TraceCheckUtils]: 32: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,772 INFO L290 TraceCheckUtils]: 28: Hoare triple {26940#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {26759#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-28 10:32:28,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {26944#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26940#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-28 10:32:28,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {26948#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26944#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} is VALID [2022-04-28 10:32:28,773 INFO L290 TraceCheckUtils]: 25: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26948#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} is VALID [2022-04-28 10:32:28,773 INFO L272 TraceCheckUtils]: 24: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:28,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:28,774 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {26714#true} #111#return; {26734#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-28 10:32:28,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {26994#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26754#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:32:28,779 INFO L290 TraceCheckUtils]: 10: Hoare triple {26998#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26994#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:32:28,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {27002#(or (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26998#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:32:28,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {26714#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {27002#(or (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:32:28,780 INFO L272 TraceCheckUtils]: 7: Hoare triple {26714#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L290 TraceCheckUtils]: 6: Hoare triple {26714#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {26714#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {26714#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {26714#true} call ULTIMATE.init(); {26714#true} is VALID [2022-04-28 10:32:28,780 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-28 10:32:28,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [154498709] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:28,780 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:28,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-28 10:32:28,781 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:28,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [122767068] [2022-04-28 10:32:28,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [122767068] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:28,781 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:28,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 10:32:28,781 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [635982452] [2022-04-28 10:32:28,781 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:28,781 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:28,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:28,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:28,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:28,805 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 10:32:28,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:28,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 10:32:28,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-28 10:32:28,806 INFO L87 Difference]: Start difference. First operand 208 states and 248 transitions. Second operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:31,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:31,193 INFO L93 Difference]: Finished difference Result 222 states and 261 transitions. [2022-04-28 10:32:31,193 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:32:31,193 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-28 10:32:31,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:31,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:31,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-28 10:32:31,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:31,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-28 10:32:31,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 89 transitions. [2022-04-28 10:32:31,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:31,275 INFO L225 Difference]: With dead ends: 222 [2022-04-28 10:32:31,275 INFO L226 Difference]: Without dead ends: 202 [2022-04-28 10:32:31,277 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=161, Invalid=1171, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:32:31,278 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 116 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 635 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 121 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 651 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 635 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:31,278 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [121 Valid, 100 Invalid, 651 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 635 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:32:31,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2022-04-28 10:32:32,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 200. [2022-04-28 10:32:32,453 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:32,453 INFO L82 GeneralOperation]: Start isEquivalent. First operand 202 states. Second operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) [2022-04-28 10:32:32,453 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) [2022-04-28 10:32:32,453 INFO L87 Difference]: Start difference. First operand 202 states. Second operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) [2022-04-28 10:32:32,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:32,456 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-28 10:32:32,456 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-28 10:32:32,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:32,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:32,457 INFO L74 IsIncluded]: Start isIncluded. First operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) Second operand 202 states. [2022-04-28 10:32:32,457 INFO L87 Difference]: Start difference. First operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) Second operand 202 states. [2022-04-28 10:32:32,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:32,459 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-28 10:32:32,459 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-28 10:32:32,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:32,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:32,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:32,460 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:32,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 164 states have (on average 1.2073170731707317) internal successors, (198), 182 states have internal predecessors, (198), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (24), 12 states have call predecessors, (24), 12 states have call successors, (24) [2022-04-28 10:32:32,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 236 transitions. [2022-04-28 10:32:32,463 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 236 transitions. Word has length 43 [2022-04-28 10:32:32,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:32,463 INFO L495 AbstractCegarLoop]: Abstraction has 200 states and 236 transitions. [2022-04-28 10:32:32,463 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:32,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 236 transitions. [2022-04-28 10:32:32,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:32,807 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 236 transitions. [2022-04-28 10:32:32,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 10:32:32,808 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:32,808 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:32,824 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:33,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:33,011 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:33,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:33,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1133635601, now seen corresponding path program 45 times [2022-04-28 10:32:33,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:33,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2100827631] [2022-04-28 10:32:33,020 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:33,020 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:33,020 INFO L85 PathProgramCache]: Analyzing trace with hash -1133635601, now seen corresponding path program 46 times [2022-04-28 10:32:33,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:33,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260182264] [2022-04-28 10:32:33,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:33,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:33,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:33,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:33,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:33,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {28332#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28297#true} is VALID [2022-04-28 10:32:33,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-28 10:32:33,054 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-28 10:32:33,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:33,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:33,127 INFO L290 TraceCheckUtils]: 0: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28334#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:32:33,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {28334#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28335#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:33,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {28335#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28336#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:33,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {28336#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28337#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:33,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {28337#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,134 INFO L290 TraceCheckUtils]: 12: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,135 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {28297#true} #111#return; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:33,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:32:33,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:33,250 INFO L290 TraceCheckUtils]: 0: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,251 INFO L290 TraceCheckUtils]: 3: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28340#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:32:33,252 INFO L290 TraceCheckUtils]: 4: Hoare triple {28340#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28341#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {28341#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28342#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,253 INFO L290 TraceCheckUtils]: 6: Hoare triple {28342#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28343#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:32:33,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {28343#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28344#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} is VALID [2022-04-28 10:32:33,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {28344#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} assume !(~l~1 < ~m); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,255 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {28316#(<= main_~m~0 (* main_~a~0 4))} #113#return; {28298#false} is VALID [2022-04-28 10:32:33,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {28297#true} call ULTIMATE.init(); {28332#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:33,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {28332#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L290 TraceCheckUtils]: 5: Hoare triple {28297#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L290 TraceCheckUtils]: 6: Hoare triple {28297#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28297#true} is VALID [2022-04-28 10:32:33,256 INFO L272 TraceCheckUtils]: 7: Hoare triple {28297#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:33,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,257 INFO L290 TraceCheckUtils]: 10: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:32:33,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {28333#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28334#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:32:33,258 INFO L290 TraceCheckUtils]: 12: Hoare triple {28334#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28335#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:33,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {28335#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28336#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:33,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {28336#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28337#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:33,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {28337#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,260 INFO L290 TraceCheckUtils]: 17: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,261 INFO L290 TraceCheckUtils]: 19: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:33,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {28297#true} #111#return; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:33,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:33,262 INFO L272 TraceCheckUtils]: 23: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:33,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {28339#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28340#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:32:33,264 INFO L290 TraceCheckUtils]: 28: Hoare triple {28340#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28341#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {28341#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28342#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:32:33,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {28342#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28343#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:32:33,265 INFO L290 TraceCheckUtils]: 31: Hoare triple {28343#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28344#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} is VALID [2022-04-28 10:32:33,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {28344#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} assume !(~l~1 < ~m); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,266 INFO L290 TraceCheckUtils]: 34: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,267 INFO L290 TraceCheckUtils]: 35: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,267 INFO L290 TraceCheckUtils]: 36: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,267 INFO L290 TraceCheckUtils]: 37: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:33,268 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {28316#(<= main_~m~0 (* main_~a~0 4))} #113#return; {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L290 TraceCheckUtils]: 39: Hoare triple {28298#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L272 TraceCheckUtils]: 40: Hoare triple {28298#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-28 10:32:33,268 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:33,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:33,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [260182264] [2022-04-28 10:32:33,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [260182264] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:33,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [141201963] [2022-04-28 10:32:33,269 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:33,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:33,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:33,270 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:33,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 10:32:33,317 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:33,317 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:33,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:32:33,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:33,329 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:34,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {28297#true} call ULTIMATE.init(); {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {28297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {28297#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L290 TraceCheckUtils]: 6: Hoare triple {28297#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28297#true} is VALID [2022-04-28 10:32:34,137 INFO L272 TraceCheckUtils]: 7: Hoare triple {28297#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:34,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,139 INFO L290 TraceCheckUtils]: 10: Hoare triple {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {28373#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28383#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {28383#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28387#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {28387#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28391#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {28391#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28395#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 4)) |correct_version_#in~a|))} is VALID [2022-04-28 10:32:34,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {28395#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 4)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,142 INFO L290 TraceCheckUtils]: 18: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:34,143 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {28297#true} #111#return; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:34,144 INFO L290 TraceCheckUtils]: 22: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:34,144 INFO L272 TraceCheckUtils]: 23: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:34,144 INFO L290 TraceCheckUtils]: 24: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:32:34,145 INFO L290 TraceCheckUtils]: 25: Hoare triple {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:32:34,145 INFO L290 TraceCheckUtils]: 26: Hoare triple {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:32:34,145 INFO L290 TraceCheckUtils]: 27: Hoare triple {28426#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28436#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:32:34,146 INFO L290 TraceCheckUtils]: 28: Hoare triple {28436#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28440#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:32:34,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {28440#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28444#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:32:34,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {28444#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28448#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 4)))} is VALID [2022-04-28 10:32:34,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {28448#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,148 INFO L290 TraceCheckUtils]: 32: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,149 INFO L290 TraceCheckUtils]: 37: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:34,150 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {28316#(<= main_~m~0 (* main_~a~0 4))} #113#return; {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L290 TraceCheckUtils]: 39: Hoare triple {28298#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L272 TraceCheckUtils]: 40: Hoare triple {28298#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-28 10:32:34,150 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:34,150 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:35,337 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-28 10:32:35,337 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-28 10:32:35,337 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-28 10:32:35,337 INFO L272 TraceCheckUtils]: 40: Hoare triple {28298#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28298#false} is VALID [2022-04-28 10:32:35,337 INFO L290 TraceCheckUtils]: 39: Hoare triple {28298#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28298#false} is VALID [2022-04-28 10:32:35,338 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {28316#(<= main_~m~0 (* main_~a~0 4))} #113#return; {28298#false} is VALID [2022-04-28 10:32:35,338 INFO L290 TraceCheckUtils]: 37: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,339 INFO L290 TraceCheckUtils]: 36: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,339 INFO L290 TraceCheckUtils]: 35: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,339 INFO L290 TraceCheckUtils]: 34: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,339 INFO L290 TraceCheckUtils]: 33: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,340 INFO L290 TraceCheckUtils]: 32: Hoare triple {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,340 INFO L290 TraceCheckUtils]: 31: Hoare triple {28527#(or (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28345#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:32:35,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {28531#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28527#(or (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:32:35,341 INFO L290 TraceCheckUtils]: 29: Hoare triple {28535#(or (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28531#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:32:35,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {28539#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28535#(or (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:32:35,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28539#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:32:35,343 INFO L290 TraceCheckUtils]: 26: Hoare triple {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} assume !(~b~1 < ~n); {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:32:35,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:32:35,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28543#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:32:35,343 INFO L272 TraceCheckUtils]: 23: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:35,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {28316#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:35,344 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {28297#true} #111#return; {28316#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-28 10:32:35,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,345 INFO L290 TraceCheckUtils]: 17: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {28580#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {28338#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:32:35,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {28584#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28580#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {28588#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28584#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:32:35,348 INFO L290 TraceCheckUtils]: 12: Hoare triple {28592#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28588#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28592#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !(~b~0 < ~n); {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {28297#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28596#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-28 10:32:35,349 INFO L272 TraceCheckUtils]: 7: Hoare triple {28297#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28297#true} is VALID [2022-04-28 10:32:35,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {28297#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28297#true} is VALID [2022-04-28 10:32:35,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {28297#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {28297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {28297#true} call ULTIMATE.init(); {28297#true} is VALID [2022-04-28 10:32:35,350 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:35,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [141201963] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:35,350 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:35,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-28 10:32:35,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:35,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2100827631] [2022-04-28 10:32:35,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2100827631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:35,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:35,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:32:35,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1573643340] [2022-04-28 10:32:35,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:35,351 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:35,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:35,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:35,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:35,380 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:32:35,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:35,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:32:35,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:32:35,381 INFO L87 Difference]: Start difference. First operand 200 states and 236 transitions. Second operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:38,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:38,798 INFO L93 Difference]: Finished difference Result 244 states and 289 transitions. [2022-04-28 10:32:38,798 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 10:32:38,798 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:38,798 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:38,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:38,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2022-04-28 10:32:38,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:38,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2022-04-28 10:32:38,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 114 transitions. [2022-04-28 10:32:38,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:38,884 INFO L225 Difference]: With dead ends: 244 [2022-04-28 10:32:38,884 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 10:32:38,886 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 302 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=203, Invalid=2247, Unknown=0, NotChecked=0, Total=2450 [2022-04-28 10:32:38,889 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 126 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 1248 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 134 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 1266 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 1248 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:38,889 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [134 Valid, 138 Invalid, 1266 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 1248 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 10:32:38,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 10:32:40,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 221. [2022-04-28 10:32:40,277 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:40,277 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) [2022-04-28 10:32:40,277 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) [2022-04-28 10:32:40,277 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) [2022-04-28 10:32:40,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:40,280 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-28 10:32:40,280 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-28 10:32:40,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:40,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:40,281 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) Second operand 230 states. [2022-04-28 10:32:40,281 INFO L87 Difference]: Start difference. First operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) Second operand 230 states. [2022-04-28 10:32:40,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:40,284 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-28 10:32:40,284 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-28 10:32:40,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:40,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:40,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:40,285 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:40,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 182 states have (on average 1.2087912087912087) internal successors, (220), 202 states have internal predecessors, (220), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (27), 13 states have call predecessors, (27), 13 states have call successors, (27) [2022-04-28 10:32:40,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 262 transitions. [2022-04-28 10:32:40,288 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 262 transitions. Word has length 44 [2022-04-28 10:32:40,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:40,288 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 262 transitions. [2022-04-28 10:32:40,289 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:40,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 262 transitions. [2022-04-28 10:32:40,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:40,676 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 262 transitions. [2022-04-28 10:32:40,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 10:32:40,677 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:40,677 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:40,695 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:40,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:40,879 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:40,879 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:40,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1915733740, now seen corresponding path program 47 times [2022-04-28 10:32:40,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:40,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1752995578] [2022-04-28 10:32:40,883 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:40,883 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:40,883 INFO L85 PathProgramCache]: Analyzing trace with hash 1915733740, now seen corresponding path program 48 times [2022-04-28 10:32:40,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:40,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [368846810] [2022-04-28 10:32:40,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:40,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:40,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:40,963 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:40,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:40,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {30080#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {30045#true} is VALID [2022-04-28 10:32:40,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-28 10:32:40,966 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-28 10:32:40,966 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:40,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:41,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,063 INFO L290 TraceCheckUtils]: 3: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30082#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,063 INFO L290 TraceCheckUtils]: 4: Hoare triple {30082#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30083#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {30083#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30084#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {30084#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30085#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {30085#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30086#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} is VALID [2022-04-28 10:32:41,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {30086#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} assume !(~l~0 < ~m); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,066 INFO L290 TraceCheckUtils]: 12: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,068 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {30045#true} #111#return; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:41,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:32:41,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:41,161 INFO L290 TraceCheckUtils]: 0: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,162 INFO L290 TraceCheckUtils]: 3: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30089#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:32:41,162 INFO L290 TraceCheckUtils]: 4: Hoare triple {30089#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30090#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:32:41,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {30090#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30091#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:32:41,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {30091#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30092#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} is VALID [2022-04-28 10:32:41,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {30092#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} assume !(~l~1 < ~m); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,165 INFO L290 TraceCheckUtils]: 12: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,166 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {30046#false} is VALID [2022-04-28 10:32:41,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {30045#true} call ULTIMATE.init(); {30080#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:41,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {30080#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {30045#true} is VALID [2022-04-28 10:32:41,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-28 10:32:41,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-28 10:32:41,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-28 10:32:41,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {30045#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {30045#true} is VALID [2022-04-28 10:32:41,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {30045#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {30045#true} is VALID [2022-04-28 10:32:41,167 INFO L272 TraceCheckUtils]: 7: Hoare triple {30045#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:41,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,168 INFO L290 TraceCheckUtils]: 10: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {30081#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30082#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,169 INFO L290 TraceCheckUtils]: 12: Hoare triple {30082#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30083#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {30083#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30084#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {30084#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30085#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:41,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {30085#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30086#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} is VALID [2022-04-28 10:32:41,171 INFO L290 TraceCheckUtils]: 16: Hoare triple {30086#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} assume !(~l~0 < ~m); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,172 INFO L290 TraceCheckUtils]: 20: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,172 INFO L290 TraceCheckUtils]: 21: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:41,172 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {30045#true} #111#return; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:41,173 INFO L290 TraceCheckUtils]: 23: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:41,173 INFO L272 TraceCheckUtils]: 24: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:41,173 INFO L290 TraceCheckUtils]: 25: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,174 INFO L290 TraceCheckUtils]: 27: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:32:41,174 INFO L290 TraceCheckUtils]: 28: Hoare triple {30088#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30089#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:32:41,175 INFO L290 TraceCheckUtils]: 29: Hoare triple {30089#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30090#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:32:41,175 INFO L290 TraceCheckUtils]: 30: Hoare triple {30090#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30091#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:32:41,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {30091#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30092#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} is VALID [2022-04-28 10:32:41,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {30092#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} assume !(~l~1 < ~m); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,177 INFO L290 TraceCheckUtils]: 36: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,177 INFO L290 TraceCheckUtils]: 37: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:41,178 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {30046#false} is VALID [2022-04-28 10:32:41,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {30046#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {30046#false} is VALID [2022-04-28 10:32:41,178 INFO L272 TraceCheckUtils]: 40: Hoare triple {30046#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {30046#false} is VALID [2022-04-28 10:32:41,178 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-28 10:32:41,178 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-28 10:32:41,178 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-28 10:32:41,179 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:41,179 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:41,179 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [368846810] [2022-04-28 10:32:41,179 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [368846810] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:41,179 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [890805341] [2022-04-28 10:32:41,179 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:41,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:41,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:41,180 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:41,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 10:32:41,235 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:32:41,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:41,236 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:32:41,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:41,247 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:42,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {30045#true} call ULTIMATE.init(); {30045#true} is VALID [2022-04-28 10:32:42,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {30045#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {30045#true} is VALID [2022-04-28 10:32:42,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-28 10:32:42,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-28 10:32:42,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-28 10:32:42,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {30045#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {30045#true} is VALID [2022-04-28 10:32:42,027 INFO L290 TraceCheckUtils]: 6: Hoare triple {30045#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {30045#true} is VALID [2022-04-28 10:32:42,027 INFO L272 TraceCheckUtils]: 7: Hoare triple {30045#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:42,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,027 INFO L290 TraceCheckUtils]: 9: Hoare triple {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,028 INFO L290 TraceCheckUtils]: 10: Hoare triple {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,028 INFO L290 TraceCheckUtils]: 11: Hoare triple {30121#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30131#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {30131#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30135#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {30135#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30139#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:32:42,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {30139#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30143#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 4)))} is VALID [2022-04-28 10:32:42,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {30143#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 4)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:42,033 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {30045#true} #111#return; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:42,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:42,033 INFO L272 TraceCheckUtils]: 24: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:42,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {30177#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30187#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {30187#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30191#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:32:42,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {30191#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30195#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,036 INFO L290 TraceCheckUtils]: 31: Hoare triple {30195#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30199#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 4)) |student_version_#in~a|))} is VALID [2022-04-28 10:32:42,037 INFO L290 TraceCheckUtils]: 32: Hoare triple {30199#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 4)) |student_version_#in~a|))} assume !(~l~1 < ~m); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,037 INFO L290 TraceCheckUtils]: 33: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,038 INFO L290 TraceCheckUtils]: 37: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:42,039 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {30046#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L272 TraceCheckUtils]: 40: Hoare triple {30046#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-28 10:32:42,039 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:42,040 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:43,173 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-28 10:32:43,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-28 10:32:43,174 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-28 10:32:43,174 INFO L272 TraceCheckUtils]: 40: Hoare triple {30046#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {30046#false} is VALID [2022-04-28 10:32:43,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {30046#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {30046#false} is VALID [2022-04-28 10:32:43,175 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {30046#false} is VALID [2022-04-28 10:32:43,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,175 INFO L290 TraceCheckUtils]: 35: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,176 INFO L290 TraceCheckUtils]: 34: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {30272#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {30093#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:32:43,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {30276#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30272#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:32:43,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {30280#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30276#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:32:43,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {30284#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30280#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:32:43,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {30284#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:32:43,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !(~b~1 < ~n); {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:32:43,179 INFO L290 TraceCheckUtils]: 26: Hoare triple {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:32:43,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {30288#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:32:43,179 INFO L272 TraceCheckUtils]: 24: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:43,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:43,180 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {30045#true} #111#return; {30065#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-28 10:32:43,181 INFO L290 TraceCheckUtils]: 21: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,181 INFO L290 TraceCheckUtils]: 18: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,182 INFO L290 TraceCheckUtils]: 17: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,182 INFO L290 TraceCheckUtils]: 15: Hoare triple {30328#(or (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30087#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:32:43,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {30332#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30328#(or (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:32:43,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {30336#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30332#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {30340#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30336#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {30340#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {30045#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {30344#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:32:43,186 INFO L272 TraceCheckUtils]: 7: Hoare triple {30045#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {30045#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {30045#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {30045#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L272 TraceCheckUtils]: 0: Hoare triple {30045#true} call ULTIMATE.init(); {30045#true} is VALID [2022-04-28 10:32:43,186 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:43,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [890805341] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:43,186 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:43,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-28 10:32:43,187 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:43,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1752995578] [2022-04-28 10:32:43,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1752995578] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:43,187 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:43,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:32:43,187 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557719936] [2022-04-28 10:32:43,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:43,187 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:43,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:43,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:43,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:43,213 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:32:43,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:43,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:32:43,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:32:43,214 INFO L87 Difference]: Start difference. First operand 221 states and 262 transitions. Second operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:46,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:46,720 INFO L93 Difference]: Finished difference Result 236 states and 277 transitions. [2022-04-28 10:32:46,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 10:32:46,720 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:46,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:46,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:46,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-28 10:32:46,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:46,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-28 10:32:46,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 113 transitions. [2022-04-28 10:32:46,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:46,809 INFO L225 Difference]: With dead ends: 236 [2022-04-28 10:32:46,809 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 10:32:46,810 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 310 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=203, Invalid=2247, Unknown=0, NotChecked=0, Total=2450 [2022-04-28 10:32:46,811 INFO L413 NwaCegarLoop]: 68 mSDtfsCounter, 131 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 1275 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 140 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 1292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 1275 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:46,811 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [140 Valid, 140 Invalid, 1292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 1275 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 10:32:46,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 10:32:48,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-28 10:32:48,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:48,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:32:48,273 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:32:48,273 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:32:48,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:48,276 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-28 10:32:48,276 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-28 10:32:48,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:48,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:48,277 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) Second operand 224 states. [2022-04-28 10:32:48,277 INFO L87 Difference]: Start difference. First operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) Second operand 224 states. [2022-04-28 10:32:48,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:48,280 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-28 10:32:48,280 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-28 10:32:48,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:48,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:48,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:48,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:48,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 203 states have internal predecessors, (221), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:32:48,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 261 transitions. [2022-04-28 10:32:48,284 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 261 transitions. Word has length 44 [2022-04-28 10:32:48,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:48,285 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 261 transitions. [2022-04-28 10:32:48,285 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 16 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:48,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 261 transitions. [2022-04-28 10:32:48,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:48,709 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 261 transitions. [2022-04-28 10:32:48,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 10:32:48,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:48,710 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:48,727 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-28 10:32:48,910 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33,25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:48,911 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:48,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:48,911 INFO L85 PathProgramCache]: Analyzing trace with hash -1794700818, now seen corresponding path program 49 times [2022-04-28 10:32:48,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:48,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [32386491] [2022-04-28 10:32:48,913 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:48,913 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:48,913 INFO L85 PathProgramCache]: Analyzing trace with hash -1794700818, now seen corresponding path program 50 times [2022-04-28 10:32:48,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:48,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110668625] [2022-04-28 10:32:48,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:48,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:48,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:48,934 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:48,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:48,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {31801#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31767#true} is VALID [2022-04-28 10:32:48,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:48,937 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-28 10:32:48,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:48,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:48,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31802#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {31802#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31803#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {31803#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31804#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,979 INFO L290 TraceCheckUtils]: 3: Hoare triple {31804#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,979 INFO L290 TraceCheckUtils]: 4: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:48,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {31805#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:32:48,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:32:48,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:32:48,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {31768#false} is VALID [2022-04-28 10:32:48,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-28 10:32:48,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-28 10:32:48,981 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-28 10:32:48,982 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 10:32:48,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 3: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 4: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {31767#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {31767#true} is VALID [2022-04-28 10:32:48,988 INFO L290 TraceCheckUtils]: 6: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 12: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:48,989 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-28 10:32:48,989 INFO L272 TraceCheckUtils]: 0: Hoare triple {31767#true} call ULTIMATE.init(); {31801#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:48,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {31801#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {31767#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {31767#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31767#true} is VALID [2022-04-28 10:32:49,001 INFO L272 TraceCheckUtils]: 7: Hoare triple {31767#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31767#true} is VALID [2022-04-28 10:32:49,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31802#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {31802#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31803#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,003 INFO L290 TraceCheckUtils]: 10: Hoare triple {31803#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31804#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {31804#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {31805#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,005 INFO L290 TraceCheckUtils]: 16: Hoare triple {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,005 INFO L290 TraceCheckUtils]: 17: Hoare triple {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,005 INFO L290 TraceCheckUtils]: 18: Hoare triple {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {31768#false} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-28 10:32:49,006 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 22: Hoare triple {31768#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31768#false} is VALID [2022-04-28 10:32:49,006 INFO L272 TraceCheckUtils]: 23: Hoare triple {31768#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 24: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 27: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 28: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {31767#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-28 10:32:49,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:49,007 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {31768#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L272 TraceCheckUtils]: 40: Hoare triple {31768#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-28 10:32:49,007 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:49,008 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:49,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110668625] [2022-04-28 10:32:49,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1110668625] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:49,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2071493415] [2022-04-28 10:32:49,008 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:49,008 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:49,008 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:49,009 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:49,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 10:32:49,067 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:49,067 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:49,068 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 10:32:49,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:49,076 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:49,220 INFO L272 TraceCheckUtils]: 0: Hoare triple {31767#true} call ULTIMATE.init(); {31767#true} is VALID [2022-04-28 10:32:49,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {31767#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31767#true} is VALID [2022-04-28 10:32:49,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L290 TraceCheckUtils]: 5: Hoare triple {31767#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L290 TraceCheckUtils]: 6: Hoare triple {31767#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L272 TraceCheckUtils]: 7: Hoare triple {31767#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31767#true} is VALID [2022-04-28 10:32:49,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31802#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {31802#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31803#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {31803#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31804#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {31804#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {31805#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {31857#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-28 10:32:49,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {31857#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31861#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-28 10:32:49,225 INFO L290 TraceCheckUtils]: 17: Hoare triple {31861#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31865#(and (<= correct_version_~x~0 2) (<= 3 correct_version_~i~0))} is VALID [2022-04-28 10:32:49,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {31865#(and (<= correct_version_~x~0 2) (<= 3 correct_version_~i~0))} assume !(~x~0 < ~i~0); {31768#false} is VALID [2022-04-28 10:32:49,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-28 10:32:49,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-28 10:32:49,225 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-28 10:32:49,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {31768#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31768#false} is VALID [2022-04-28 10:32:49,225 INFO L272 TraceCheckUtils]: 23: Hoare triple {31768#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {31768#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {31768#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {31768#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {31768#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {31768#false} assume !(~b~1 < ~n); {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 29: Hoare triple {31768#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {31768#false} assume !(~l~1 < ~m); {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {31768#false} ~x~1 := 0;~y~1 := 0; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 32: Hoare triple {31768#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 33: Hoare triple {31768#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 34: Hoare triple {31768#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 35: Hoare triple {31768#false} assume !(~x~1 < ~i~1); {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 36: Hoare triple {31768#false} #res := ~y~1; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L290 TraceCheckUtils]: 37: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-28 10:32:49,226 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31768#false} {31768#false} #113#return; {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L290 TraceCheckUtils]: 39: Hoare triple {31768#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L272 TraceCheckUtils]: 40: Hoare triple {31768#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-28 10:32:49,227 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:49,227 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:49,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-28 10:32:49,356 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-28 10:32:49,356 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-28 10:32:49,356 INFO L272 TraceCheckUtils]: 40: Hoare triple {31768#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {31768#false} is VALID [2022-04-28 10:32:49,356 INFO L290 TraceCheckUtils]: 39: Hoare triple {31768#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {31768#false} is VALID [2022-04-28 10:32:49,356 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 37: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 36: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 35: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 34: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 32: Hoare triple {31767#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {31767#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 28: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 26: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {31767#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L290 TraceCheckUtils]: 24: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31767#true} is VALID [2022-04-28 10:32:49,357 INFO L272 TraceCheckUtils]: 23: Hoare triple {31768#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31767#true} is VALID [2022-04-28 10:32:49,358 INFO L290 TraceCheckUtils]: 22: Hoare triple {31768#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31768#false} is VALID [2022-04-28 10:32:49,358 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-28 10:32:49,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-28 10:32:49,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-28 10:32:49,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {31768#false} is VALID [2022-04-28 10:32:49,359 INFO L290 TraceCheckUtils]: 17: Hoare triple {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31808#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31807#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {31805#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {31806#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:32:49,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,360 INFO L290 TraceCheckUtils]: 13: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,360 INFO L290 TraceCheckUtils]: 12: Hoare triple {31805#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {31804#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31805#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,361 INFO L290 TraceCheckUtils]: 10: Hoare triple {31803#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31804#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {31802#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31803#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {31767#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31802#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:32:49,362 INFO L272 TraceCheckUtils]: 7: Hoare triple {31767#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {31767#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {31767#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {31767#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {31767#true} call ULTIMATE.init(); {31767#true} is VALID [2022-04-28 10:32:49,362 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:49,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2071493415] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:49,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:49,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-28 10:32:49,363 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:49,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [32386491] [2022-04-28 10:32:49,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [32386491] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:49,363 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:49,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:32:49,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [840239338] [2022-04-28 10:32:49,363 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:49,364 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:49,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:49,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:49,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:49,386 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:32:49,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:49,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:32:49,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:32:49,386 INFO L87 Difference]: Start difference. First operand 222 states and 261 transitions. Second operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:51,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:51,252 INFO L93 Difference]: Finished difference Result 339 states and 391 transitions. [2022-04-28 10:32:51,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:32:51,252 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-28 10:32:51,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:51,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:51,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-28 10:32:51,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:51,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-28 10:32:51,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 84 transitions. [2022-04-28 10:32:51,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:51,311 INFO L225 Difference]: With dead ends: 339 [2022-04-28 10:32:51,312 INFO L226 Difference]: Without dead ends: 215 [2022-04-28 10:32:51,313 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=163, Invalid=343, Unknown=0, NotChecked=0, Total=506 [2022-04-28 10:32:51,313 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 60 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:51,313 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 67 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 231 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:32:51,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-28 10:32:52,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 207. [2022-04-28 10:32:52,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:52,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 215 states. Second operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:52,696 INFO L74 IsIncluded]: Start isIncluded. First operand 215 states. Second operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:52,696 INFO L87 Difference]: Start difference. First operand 215 states. Second operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:52,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:52,699 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-28 10:32:52,699 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-28 10:32:52,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:52,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:52,699 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) Second operand 215 states. [2022-04-28 10:32:52,699 INFO L87 Difference]: Start difference. First operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) Second operand 215 states. [2022-04-28 10:32:52,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:52,702 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-28 10:32:52,702 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-28 10:32:52,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:52,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:52,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:52,702 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:52,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 174 states have (on average 1.1954022988505748) internal successors, (208), 190 states have internal predecessors, (208), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:52,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 240 transitions. [2022-04-28 10:32:52,705 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 240 transitions. Word has length 44 [2022-04-28 10:32:52,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:52,706 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 240 transitions. [2022-04-28 10:32:52,706 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:52,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 240 transitions. [2022-04-28 10:32:53,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 240 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:53,085 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 240 transitions. [2022-04-28 10:32:53,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 10:32:53,086 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:53,086 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:53,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:53,292 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-28 10:32:53,293 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:53,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:53,293 INFO L85 PathProgramCache]: Analyzing trace with hash 1255089933, now seen corresponding path program 51 times [2022-04-28 10:32:53,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:53,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1988904606] [2022-04-28 10:32:53,295 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:53,295 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:53,295 INFO L85 PathProgramCache]: Analyzing trace with hash 1255089933, now seen corresponding path program 52 times [2022-04-28 10:32:53,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:53,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651404605] [2022-04-28 10:32:53,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:53,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:53,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:53,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:53,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:53,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {33651#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {33617#true} is VALID [2022-04-28 10:32:53,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,323 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-28 10:32:53,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:53,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 3: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 4: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {33617#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 6: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L290 TraceCheckUtils]: 10: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-28 10:32:53,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:32:53,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:53,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {33652#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:32:53,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {33652#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33653#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:32:53,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {33653#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33654#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:32:53,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {33654#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {33655#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {33618#false} is VALID [2022-04-28 10:32:53,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-28 10:32:53,375 INFO L290 TraceCheckUtils]: 12: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-28 10:32:53,375 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-28 10:32:53,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {33617#true} call ULTIMATE.init(); {33651#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {33651#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {33617#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {33617#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L272 TraceCheckUtils]: 7: Hoare triple {33617#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 8: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,376 INFO L290 TraceCheckUtils]: 10: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {33617#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 17: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L290 TraceCheckUtils]: 23: Hoare triple {33617#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {33617#true} is VALID [2022-04-28 10:32:53,377 INFO L272 TraceCheckUtils]: 24: Hoare triple {33617#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {33652#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:32:53,378 INFO L290 TraceCheckUtils]: 26: Hoare triple {33652#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33653#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:32:53,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {33653#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33654#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:32:53,379 INFO L290 TraceCheckUtils]: 28: Hoare triple {33654#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,379 INFO L290 TraceCheckUtils]: 29: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,379 INFO L290 TraceCheckUtils]: 30: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,380 INFO L290 TraceCheckUtils]: 31: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,380 INFO L290 TraceCheckUtils]: 32: Hoare triple {33655#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,380 INFO L290 TraceCheckUtils]: 33: Hoare triple {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,381 INFO L290 TraceCheckUtils]: 34: Hoare triple {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {33618#false} is VALID [2022-04-28 10:32:53,381 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-28 10:32:53,381 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-28 10:32:53,381 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L290 TraceCheckUtils]: 39: Hoare triple {33618#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L272 TraceCheckUtils]: 40: Hoare triple {33618#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-28 10:32:53,382 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:53,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:53,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1651404605] [2022-04-28 10:32:53,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1651404605] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:53,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1051730304] [2022-04-28 10:32:53,382 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:53,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:53,383 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:53,383 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:53,385 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 10:32:53,436 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:53,437 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:53,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 10:32:53,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:53,446 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:53,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {33617#true} call ULTIMATE.init(); {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {33617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 5: Hoare triple {33617#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 6: Hoare triple {33617#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L272 TraceCheckUtils]: 7: Hoare triple {33617#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 10: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 11: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {33617#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 16: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,599 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-28 10:32:53,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {33617#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {33617#true} is VALID [2022-04-28 10:32:53,600 INFO L272 TraceCheckUtils]: 24: Hoare triple {33617#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {33652#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:32:53,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {33652#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33653#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:32:53,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {33653#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33654#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:32:53,601 INFO L290 TraceCheckUtils]: 28: Hoare triple {33654#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,602 INFO L290 TraceCheckUtils]: 30: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {33655#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {33758#(and (<= student_version_~x~1 0) (<= 3 student_version_~i~1))} is VALID [2022-04-28 10:32:53,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {33758#(and (<= student_version_~x~1 0) (<= 3 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33762#(and (<= 3 student_version_~i~1) (<= student_version_~x~1 1))} is VALID [2022-04-28 10:32:53,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {33762#(and (<= 3 student_version_~i~1) (<= student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33766#(and (<= student_version_~x~1 2) (<= 3 student_version_~i~1))} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {33766#(and (<= student_version_~x~1 2) (<= 3 student_version_~i~1))} assume !(~x~1 < ~i~1); {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {33618#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L272 TraceCheckUtils]: 40: Hoare triple {33618#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-28 10:32:53,604 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:53,605 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L272 TraceCheckUtils]: 40: Hoare triple {33618#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {33618#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-28 10:32:53,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-28 10:32:53,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {33618#false} is VALID [2022-04-28 10:32:53,830 INFO L290 TraceCheckUtils]: 34: Hoare triple {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33658#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,831 INFO L290 TraceCheckUtils]: 33: Hoare triple {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {33657#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,831 INFO L290 TraceCheckUtils]: 32: Hoare triple {33655#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {33656#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:32:53,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,831 INFO L290 TraceCheckUtils]: 30: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {33655#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {33654#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33655#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:32:53,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {33653#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33654#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:32:53,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {33652#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {33653#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:32:53,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {33652#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:32:53,833 INFO L272 TraceCheckUtils]: 24: Hoare triple {33617#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {33617#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {33617#true} is VALID [2022-04-28 10:32:53,833 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 16: Hoare triple {33617#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {33617#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {33617#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {33617#true} is VALID [2022-04-28 10:32:53,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {33617#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L272 TraceCheckUtils]: 7: Hoare triple {33617#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L290 TraceCheckUtils]: 6: Hoare triple {33617#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {33617#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {33617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {33617#true} is VALID [2022-04-28 10:32:53,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {33617#true} call ULTIMATE.init(); {33617#true} is VALID [2022-04-28 10:32:53,851 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:32:53,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1051730304] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:53,851 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:53,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-28 10:32:53,852 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:53,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1988904606] [2022-04-28 10:32:53,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1988904606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:53,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:53,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:32:53,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1299922891] [2022-04-28 10:32:53,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:53,852 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-28 10:32:53,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:53,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:53,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:53,877 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:32:53,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:53,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:32:53,878 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:32:53,878 INFO L87 Difference]: Start difference. First operand 207 states and 240 transitions. Second operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:55,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:55,531 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-04-28 10:32:55,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:32:55,531 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-28 10:32:55,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:55,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:55,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 10:32:55,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:55,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-28 10:32:55,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-28 10:32:55,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:55,581 INFO L225 Difference]: With dead ends: 233 [2022-04-28 10:32:55,581 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 10:32:55,582 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=163, Invalid=343, Unknown=0, NotChecked=0, Total=506 [2022-04-28 10:32:55,582 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 75 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 79 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 146 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:55,583 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [79 Valid, 53 Invalid, 146 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:32:55,583 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 10:32:57,013 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 10:32:57,014 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:57,014 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:57,014 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:57,014 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:57,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:57,017 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-28 10:32:57,017 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-28 10:32:57,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:57,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:57,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) Second operand 212 states. [2022-04-28 10:32:57,018 INFO L87 Difference]: Start difference. First operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) Second operand 212 states. [2022-04-28 10:32:57,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:57,020 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-28 10:32:57,020 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-28 10:32:57,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:57,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:57,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:57,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:57,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (19), 11 states have call predecessors, (19), 11 states have call successors, (19) [2022-04-28 10:32:57,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 245 transitions. [2022-04-28 10:32:57,024 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 245 transitions. Word has length 44 [2022-04-28 10:32:57,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:57,024 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 245 transitions. [2022-04-28 10:32:57,024 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.2) internal successors, (32), 9 states have internal predecessors, (32), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:57,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 245 transitions. [2022-04-28 10:32:57,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 245 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:57,426 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-28 10:32:57,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:32:57,426 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:57,427 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:57,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:57,627 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable35 [2022-04-28 10:32:57,627 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:57,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:57,627 INFO L85 PathProgramCache]: Analyzing trace with hash -1761268627, now seen corresponding path program 53 times [2022-04-28 10:32:57,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:57,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1368029203] [2022-04-28 10:32:57,629 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:57,629 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:57,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1761268627, now seen corresponding path program 54 times [2022-04-28 10:32:57,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:57,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [310635427] [2022-04-28 10:32:57,630 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:57,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:57,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:57,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:57,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:57,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {35300#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35259#true} is VALID [2022-04-28 10:32:57,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-28 10:32:57,736 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-28 10:32:57,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:57,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:57,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:57,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:57,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:57,875 INFO L290 TraceCheckUtils]: 3: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:57,875 INFO L290 TraceCheckUtils]: 4: Hoare triple {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:57,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:57,876 INFO L290 TraceCheckUtils]: 6: Hoare triple {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:57,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:57,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:57,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:32:57,878 INFO L290 TraceCheckUtils]: 10: Hoare triple {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:57,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:57,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:57,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:57,879 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {35259#true} #111#return; {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-28 10:32:57,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:32:57,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:58,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,079 INFO L290 TraceCheckUtils]: 3: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:58,079 INFO L290 TraceCheckUtils]: 4: Hoare triple {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:58,080 INFO L290 TraceCheckUtils]: 5: Hoare triple {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:58,080 INFO L290 TraceCheckUtils]: 6: Hoare triple {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:58,081 INFO L290 TraceCheckUtils]: 7: Hoare triple {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:32:58,082 INFO L290 TraceCheckUtils]: 10: Hoare triple {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,083 INFO L290 TraceCheckUtils]: 12: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,084 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {35296#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:58,084 INFO L272 TraceCheckUtils]: 0: Hoare triple {35259#true} call ULTIMATE.init(); {35300#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:32:58,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {35300#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35259#true} is VALID [2022-04-28 10:32:58,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-28 10:32:58,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-28 10:32:58,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-28 10:32:58,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {35259#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35259#true} is VALID [2022-04-28 10:32:58,085 INFO L290 TraceCheckUtils]: 6: Hoare triple {35259#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35259#true} is VALID [2022-04-28 10:32:58,085 INFO L272 TraceCheckUtils]: 7: Hoare triple {35259#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:58,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:58,087 INFO L290 TraceCheckUtils]: 12: Hoare triple {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:58,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:58,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:58,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,089 INFO L290 TraceCheckUtils]: 17: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:32:58,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:58,089 INFO L290 TraceCheckUtils]: 19: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:58,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:58,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:58,091 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {35259#true} #111#return; {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-28 10:32:58,091 INFO L290 TraceCheckUtils]: 23: Hoare triple {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-28 10:32:58,091 INFO L272 TraceCheckUtils]: 24: Hoare triple {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:58,092 INFO L290 TraceCheckUtils]: 25: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,092 INFO L290 TraceCheckUtils]: 26: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,092 INFO L290 TraceCheckUtils]: 27: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,093 INFO L290 TraceCheckUtils]: 28: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:58,093 INFO L290 TraceCheckUtils]: 29: Hoare triple {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:58,094 INFO L290 TraceCheckUtils]: 30: Hoare triple {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:58,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:58,095 INFO L290 TraceCheckUtils]: 32: Hoare triple {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,095 INFO L290 TraceCheckUtils]: 33: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,095 INFO L290 TraceCheckUtils]: 34: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:32:58,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,096 INFO L290 TraceCheckUtils]: 37: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,098 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {35296#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:58,099 INFO L290 TraceCheckUtils]: 40: Hoare triple {35296#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35297#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:58,100 INFO L272 TraceCheckUtils]: 41: Hoare triple {35297#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:32:58,100 INFO L290 TraceCheckUtils]: 42: Hoare triple {35298#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {35299#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:32:58,100 INFO L290 TraceCheckUtils]: 43: Hoare triple {35299#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {35260#false} is VALID [2022-04-28 10:32:58,100 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-28 10:32:58,101 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:58,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:58,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [310635427] [2022-04-28 10:32:58,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [310635427] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:58,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1176151980] [2022-04-28 10:32:58,101 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:58,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:58,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:58,102 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:58,131 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 10:32:58,175 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:32:58,175 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:58,176 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:32:58,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:58,185 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:58,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {35259#true} call ULTIMATE.init(); {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {35259#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L290 TraceCheckUtils]: 5: Hoare triple {35259#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L290 TraceCheckUtils]: 6: Hoare triple {35259#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35259#true} is VALID [2022-04-28 10:32:58,705 INFO L272 TraceCheckUtils]: 7: Hoare triple {35259#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:58,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:58,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:58,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:58,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:58,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,709 INFO L290 TraceCheckUtils]: 16: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:58,709 INFO L290 TraceCheckUtils]: 17: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {35373#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:32:58,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {35373#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:58,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:58,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:58,711 INFO L290 TraceCheckUtils]: 21: Hoare triple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:58,711 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {35259#true} #111#return; {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-28 10:32:58,712 INFO L290 TraceCheckUtils]: 23: Hoare triple {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-28 10:32:58,712 INFO L272 TraceCheckUtils]: 24: Hoare triple {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:58,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:58,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:58,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:58,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:58,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:58,715 INFO L290 TraceCheckUtils]: 32: Hoare triple {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,715 INFO L290 TraceCheckUtils]: 33: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,716 INFO L290 TraceCheckUtils]: 34: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {35425#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:58,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {35425#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:58,717 INFO L290 TraceCheckUtils]: 37: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,717 INFO L290 TraceCheckUtils]: 38: Hoare triple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:58,718 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {35441#(and (<= 5 |main_#t~ret9|) (<= main_~n_stones1~0 5) (<= |main_#t~ret9| 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-28 10:32:58,718 INFO L290 TraceCheckUtils]: 40: Hoare triple {35441#(and (<= 5 |main_#t~ret9|) (<= main_~n_stones1~0 5) (<= |main_#t~ret9| 5) (<= 5 main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35445#(and (<= main_~n_stones1~0 5) (<= main_~n_stones2~0 5) (<= 5 main_~n_stones1~0) (<= 5 main_~n_stones2~0))} is VALID [2022-04-28 10:32:58,719 INFO L272 TraceCheckUtils]: 41: Hoare triple {35445#(and (<= main_~n_stones1~0 5) (<= main_~n_stones2~0 5) (<= 5 main_~n_stones1~0) (<= 5 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:58,719 INFO L290 TraceCheckUtils]: 42: Hoare triple {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:58,719 INFO L290 TraceCheckUtils]: 43: Hoare triple {35453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35260#false} is VALID [2022-04-28 10:32:58,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-28 10:32:58,719 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:58,719 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:59,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-28 10:32:59,097 INFO L290 TraceCheckUtils]: 43: Hoare triple {35453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35260#false} is VALID [2022-04-28 10:32:59,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:32:59,098 INFO L272 TraceCheckUtils]: 41: Hoare triple {35297#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:32:59,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {35296#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35297#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:32:59,099 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {35296#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:32:59,114 INFO L290 TraceCheckUtils]: 38: Hoare triple {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:59,115 INFO L290 TraceCheckUtils]: 37: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {35318#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-28 10:32:59,115 INFO L290 TraceCheckUtils]: 36: Hoare triple {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:59,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {35317#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-28 10:32:59,116 INFO L290 TraceCheckUtils]: 34: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {35316#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:32:59,117 INFO L290 TraceCheckUtils]: 33: Hoare triple {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:59,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35315#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:32:59,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35314#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:32:59,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35313#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:32:59,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35312#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:32:59,119 INFO L290 TraceCheckUtils]: 28: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {35311#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:32:59,119 INFO L290 TraceCheckUtils]: 27: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:59,119 INFO L290 TraceCheckUtils]: 26: Hoare triple {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:59,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {35310#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:32:59,120 INFO L272 TraceCheckUtils]: 24: Hoare triple {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:59,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35280#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-28 10:32:59,121 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {35259#true} #111#return; {35279#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-28 10:32:59,121 INFO L290 TraceCheckUtils]: 21: Hoare triple {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:59,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {35309#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-28 10:32:59,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:59,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {35308#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-28 10:32:59,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {35307#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:32:59,123 INFO L290 TraceCheckUtils]: 16: Hoare triple {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:59,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35306#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:32:59,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35305#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:32:59,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35304#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:32:59,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35303#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:32:59,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {35302#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:32:59,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:59,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:59,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {35259#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35301#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:32:59,126 INFO L272 TraceCheckUtils]: 7: Hoare triple {35259#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35259#true} is VALID [2022-04-28 10:32:59,127 INFO L290 TraceCheckUtils]: 6: Hoare triple {35259#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35259#true} is VALID [2022-04-28 10:32:59,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {35259#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35259#true} is VALID [2022-04-28 10:32:59,127 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-28 10:32:59,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-28 10:32:59,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-28 10:32:59,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {35259#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35259#true} is VALID [2022-04-28 10:32:59,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {35259#true} call ULTIMATE.init(); {35259#true} is VALID [2022-04-28 10:32:59,128 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:32:59,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1176151980] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:59,128 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:59,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 33 [2022-04-28 10:32:59,129 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:59,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1368029203] [2022-04-28 10:32:59,129 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1368029203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:59,129 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:59,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:32:59,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925400289] [2022-04-28 10:32:59,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:59,129 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:32:59,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:59,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:59,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:59,157 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:32:59,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:59,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:32:59,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=983, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 10:32:59,158 INFO L87 Difference]: Start difference. First operand 212 states and 245 transitions. Second operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:04,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:04,553 INFO L93 Difference]: Finished difference Result 270 states and 312 transitions. [2022-04-28 10:33:04,553 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:33:04,553 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:33:04,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:04,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:04,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-28 10:33:04,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:04,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-28 10:33:04,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 142 transitions. [2022-04-28 10:33:04,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:04,664 INFO L225 Difference]: With dead ends: 270 [2022-04-28 10:33:04,664 INFO L226 Difference]: Without dead ends: 264 [2022-04-28 10:33:04,665 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 84 SyntacticMatches, 5 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 457 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=202, Invalid=3104, Unknown=0, NotChecked=0, Total=3306 [2022-04-28 10:33:04,666 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 150 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2444 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 156 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 2482 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 2444 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:04,666 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [156 Valid, 191 Invalid, 2482 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 2444 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 10:33:04,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-28 10:33:06,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 228. [2022-04-28 10:33:06,289 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:06,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-28 10:33:06,289 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-28 10:33:06,289 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-28 10:33:06,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:06,293 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-28 10:33:06,293 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-28 10:33:06,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:06,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:06,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) Second operand 264 states. [2022-04-28 10:33:06,294 INFO L87 Difference]: Start difference. First operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) Second operand 264 states. [2022-04-28 10:33:06,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:06,297 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-28 10:33:06,297 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-28 10:33:06,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:06,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:06,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:06,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:06,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 228 states, 192 states have (on average 1.1875) internal successors, (228), 210 states have internal predecessors, (228), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-28 10:33:06,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 228 states to 228 states and 264 transitions. [2022-04-28 10:33:06,301 INFO L78 Accepts]: Start accepts. Automaton has 228 states and 264 transitions. Word has length 45 [2022-04-28 10:33:06,301 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:06,301 INFO L495 AbstractCegarLoop]: Abstraction has 228 states and 264 transitions. [2022-04-28 10:33:06,302 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:06,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 228 states and 264 transitions. [2022-04-28 10:33:06,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:06,721 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 264 transitions. [2022-04-28 10:33:06,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:33:06,722 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:06,722 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:06,738 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-28 10:33:06,922 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-28 10:33:06,922 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:06,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:06,923 INFO L85 PathProgramCache]: Analyzing trace with hash -1247111507, now seen corresponding path program 55 times [2022-04-28 10:33:06,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:06,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1670424162] [2022-04-28 10:33:06,925 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:06,925 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:06,925 INFO L85 PathProgramCache]: Analyzing trace with hash -1247111507, now seen corresponding path program 56 times [2022-04-28 10:33:06,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:06,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [29870511] [2022-04-28 10:33:06,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:06,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:06,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:07,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:07,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:07,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {37210#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37169#true} is VALID [2022-04-28 10:33:07,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-28 10:33:07,003 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-28 10:33:07,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:07,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:07,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,121 INFO L290 TraceCheckUtils]: 3: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,122 INFO L290 TraceCheckUtils]: 4: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:07,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:07,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:07,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:07,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,126 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {37169#true} #111#return; {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:07,126 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:07,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:07,300 INFO L290 TraceCheckUtils]: 0: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,301 INFO L290 TraceCheckUtils]: 3: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,302 INFO L290 TraceCheckUtils]: 4: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:07,302 INFO L290 TraceCheckUtils]: 5: Hoare triple {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:07,303 INFO L290 TraceCheckUtils]: 6: Hoare triple {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:33:07,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:07,304 INFO L290 TraceCheckUtils]: 10: Hoare triple {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,306 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {37206#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:07,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {37169#true} call ULTIMATE.init(); {37210#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:07,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {37210#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {37169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {37169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37169#true} is VALID [2022-04-28 10:33:07,307 INFO L272 TraceCheckUtils]: 7: Hoare triple {37169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:07,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,309 INFO L290 TraceCheckUtils]: 12: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:07,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:07,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,310 INFO L290 TraceCheckUtils]: 15: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:07,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:07,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,313 INFO L290 TraceCheckUtils]: 21: Hoare triple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,314 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {37169#true} #111#return; {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:07,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:07,314 INFO L272 TraceCheckUtils]: 24: Hoare triple {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:07,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,315 INFO L290 TraceCheckUtils]: 26: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,315 INFO L290 TraceCheckUtils]: 27: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,315 INFO L290 TraceCheckUtils]: 28: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,316 INFO L290 TraceCheckUtils]: 29: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:07,316 INFO L290 TraceCheckUtils]: 30: Hoare triple {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:07,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,317 INFO L290 TraceCheckUtils]: 32: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:33:07,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:07,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,319 INFO L290 TraceCheckUtils]: 37: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,320 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {37206#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:07,321 INFO L290 TraceCheckUtils]: 40: Hoare triple {37206#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37207#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:07,321 INFO L272 TraceCheckUtils]: 41: Hoare triple {37207#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37208#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:33:07,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {37208#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {37209#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:33:07,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {37209#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {37170#false} is VALID [2022-04-28 10:33:07,322 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-28 10:33:07,322 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:33:07,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:07,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [29870511] [2022-04-28 10:33:07,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [29870511] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:07,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [869398801] [2022-04-28 10:33:07,323 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:33:07,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:07,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:07,324 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:07,325 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 10:33:07,385 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:33:07,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:07,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:33:07,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:07,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:07,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {37169#true} call ULTIMATE.init(); {37169#true} is VALID [2022-04-28 10:33:07,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {37169#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L290 TraceCheckUtils]: 5: Hoare triple {37169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L290 TraceCheckUtils]: 6: Hoare triple {37169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L272 TraceCheckUtils]: 7: Hoare triple {37169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:07,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,963 INFO L290 TraceCheckUtils]: 10: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:07,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:07,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:07,965 INFO L290 TraceCheckUtils]: 14: Hoare triple {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,965 INFO L290 TraceCheckUtils]: 15: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {37278#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {37278#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37282#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:07,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {37282#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:07,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:07,968 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {37169#true} #111#return; {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:07,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:07,969 INFO L272 TraceCheckUtils]: 24: Hoare triple {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:07,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,971 INFO L290 TraceCheckUtils]: 27: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,971 INFO L290 TraceCheckUtils]: 28: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:07,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:07,972 INFO L290 TraceCheckUtils]: 30: Hoare triple {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:07,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {37331#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:07,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {37331#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37335#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:33:07,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {37335#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:07,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:07,976 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {37351#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:07,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {37351#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37355#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:07,977 INFO L272 TraceCheckUtils]: 41: Hoare triple {37355#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:07,977 INFO L290 TraceCheckUtils]: 42: Hoare triple {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37363#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:07,978 INFO L290 TraceCheckUtils]: 43: Hoare triple {37363#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37170#false} is VALID [2022-04-28 10:33:07,978 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-28 10:33:07,978 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:33:07,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:08,386 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-28 10:33:08,386 INFO L290 TraceCheckUtils]: 43: Hoare triple {37363#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37170#false} is VALID [2022-04-28 10:33:08,386 INFO L290 TraceCheckUtils]: 42: Hoare triple {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37363#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:08,387 INFO L272 TraceCheckUtils]: 41: Hoare triple {37207#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:08,387 INFO L290 TraceCheckUtils]: 40: Hoare triple {37206#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37207#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:08,388 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {37206#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:08,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:08,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {37226#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:08,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:08,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37225#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:08,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37224#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:08,390 INFO L290 TraceCheckUtils]: 33: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {37223#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:33:08,391 INFO L290 TraceCheckUtils]: 32: Hoare triple {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:08,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37222#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:08,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37221#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:08,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37220#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:08,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:08,393 INFO L290 TraceCheckUtils]: 27: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:08,393 INFO L290 TraceCheckUtils]: 26: Hoare triple {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:08,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37219#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:08,394 INFO L272 TraceCheckUtils]: 24: Hoare triple {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:08,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37190#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:08,395 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {37169#true} #111#return; {37189#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:08,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:08,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {37218#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:08,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:08,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37217#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:08,397 INFO L290 TraceCheckUtils]: 17: Hoare triple {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37216#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:08,397 INFO L290 TraceCheckUtils]: 16: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {37215#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:08,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:08,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37214#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:08,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37213#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:08,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37212#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:08,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:08,399 INFO L290 TraceCheckUtils]: 10: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 8: Hoare triple {37169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37211#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:08,400 INFO L272 TraceCheckUtils]: 7: Hoare triple {37169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {37169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 5: Hoare triple {37169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {37169#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37169#true} is VALID [2022-04-28 10:33:08,400 INFO L272 TraceCheckUtils]: 0: Hoare triple {37169#true} call ULTIMATE.init(); {37169#true} is VALID [2022-04-28 10:33:08,401 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:33:08,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [869398801] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:08,401 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:08,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 33 [2022-04-28 10:33:08,401 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:08,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1670424162] [2022-04-28 10:33:08,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1670424162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:08,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:08,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:33:08,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [132441243] [2022-04-28 10:33:08,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:08,402 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:33:08,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:08,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:08,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:08,428 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:33:08,428 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:08,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:33:08,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=979, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 10:33:08,429 INFO L87 Difference]: Start difference. First operand 228 states and 264 transitions. Second operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:12,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:12,613 INFO L93 Difference]: Finished difference Result 234 states and 269 transitions. [2022-04-28 10:33:12,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:33:12,613 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:33:12,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:12,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:12,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-28 10:33:12,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:12,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-28 10:33:12,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 108 transitions. [2022-04-28 10:33:12,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:12,701 INFO L225 Difference]: With dead ends: 234 [2022-04-28 10:33:12,701 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 10:33:12,702 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 78 SyntacticMatches, 9 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 476 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=204, Invalid=2876, Unknown=0, NotChecked=0, Total=3080 [2022-04-28 10:33:12,703 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 95 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1720 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 1747 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 1720 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:12,703 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 166 Invalid, 1747 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 1720 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 10:33:12,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 10:33:14,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 10:33:14,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:14,180 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) [2022-04-28 10:33:14,180 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) [2022-04-28 10:33:14,180 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) [2022-04-28 10:33:14,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:14,183 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-28 10:33:14,183 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-28 10:33:14,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:14,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:14,183 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) Second operand 212 states. [2022-04-28 10:33:14,183 INFO L87 Difference]: Start difference. First operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) Second operand 212 states. [2022-04-28 10:33:14,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:14,186 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-28 10:33:14,186 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-28 10:33:14,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:14,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:14,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:14,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:14,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 179 states have (on average 1.1899441340782122) internal successors, (213), 195 states have internal predecessors, (213), 13 states have call successors, (13), 5 states have call predecessors, (13), 19 states have return successors, (20), 11 states have call predecessors, (20), 11 states have call successors, (20) [2022-04-28 10:33:14,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 246 transitions. [2022-04-28 10:33:14,190 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 246 transitions. Word has length 45 [2022-04-28 10:33:14,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:14,190 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 246 transitions. [2022-04-28 10:33:14,190 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:14,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 246 transitions. [2022-04-28 10:33:14,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 246 edges. 246 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:14,593 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-28 10:33:14,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:33:14,594 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:14,594 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:14,612 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:14,810 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:14,810 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:14,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:14,810 INFO L85 PathProgramCache]: Analyzing trace with hash 1602219117, now seen corresponding path program 57 times [2022-04-28 10:33:14,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:14,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1553607694] [2022-04-28 10:33:14,812 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:14,812 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:14,812 INFO L85 PathProgramCache]: Analyzing trace with hash 1602219117, now seen corresponding path program 58 times [2022-04-28 10:33:14,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:14,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [891386224] [2022-04-28 10:33:14,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:14,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:14,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:14,891 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:14,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:14,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {38908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {38867#true} is VALID [2022-04-28 10:33:14,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-28 10:33:14,893 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-28 10:33:14,894 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:14,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:14,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:14,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:14,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:14,992 INFO L290 TraceCheckUtils]: 3: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:14,993 INFO L290 TraceCheckUtils]: 4: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:14,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:14,993 INFO L290 TraceCheckUtils]: 6: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:14,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} is VALID [2022-04-28 10:33:14,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:14,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:33:14,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:14,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:14,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:14,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:14,997 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {38867#true} #111#return; {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:33:14,997 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:15,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,141 INFO L290 TraceCheckUtils]: 0: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,142 INFO L290 TraceCheckUtils]: 3: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,143 INFO L290 TraceCheckUtils]: 4: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,144 INFO L290 TraceCheckUtils]: 6: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} is VALID [2022-04-28 10:33:15,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} is VALID [2022-04-28 10:33:15,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:33:15,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,146 INFO L290 TraceCheckUtils]: 12: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,147 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {38904#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:15,148 INFO L272 TraceCheckUtils]: 0: Hoare triple {38867#true} call ULTIMATE.init(); {38908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:15,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {38908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {38867#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {38867#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {38867#true} is VALID [2022-04-28 10:33:15,148 INFO L272 TraceCheckUtils]: 7: Hoare triple {38867#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:15,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,149 INFO L290 TraceCheckUtils]: 10: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,150 INFO L290 TraceCheckUtils]: 12: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,151 INFO L290 TraceCheckUtils]: 15: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} is VALID [2022-04-28 10:33:15,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:15,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:33:15,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:15,153 INFO L290 TraceCheckUtils]: 19: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:15,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:15,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:15,154 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {38867#true} #111#return; {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:33:15,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:33:15,155 INFO L272 TraceCheckUtils]: 24: Hoare triple {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:15,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,157 INFO L290 TraceCheckUtils]: 31: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,158 INFO L290 TraceCheckUtils]: 32: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} is VALID [2022-04-28 10:33:15,158 INFO L290 TraceCheckUtils]: 33: Hoare triple {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} is VALID [2022-04-28 10:33:15,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:33:15,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,160 INFO L290 TraceCheckUtils]: 36: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,161 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {38904#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:15,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {38904#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {38905#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:15,162 INFO L272 TraceCheckUtils]: 41: Hoare triple {38905#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {38906#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:33:15,162 INFO L290 TraceCheckUtils]: 42: Hoare triple {38906#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {38907#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:33:15,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {38907#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {38868#false} is VALID [2022-04-28 10:33:15,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-28 10:33:15,163 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:33:15,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:15,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [891386224] [2022-04-28 10:33:15,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [891386224] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:15,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1823005324] [2022-04-28 10:33:15,163 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:33:15,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:15,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:15,164 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:15,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 10:33:15,226 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:33:15,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:15,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 10:33:15,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:15,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {38867#true} call ULTIMATE.init(); {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {38867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {38867#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {38867#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {38867#true} is VALID [2022-04-28 10:33:15,886 INFO L272 TraceCheckUtils]: 7: Hoare triple {38867#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:15,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,887 INFO L290 TraceCheckUtils]: 10: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,888 INFO L290 TraceCheckUtils]: 11: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,888 INFO L290 TraceCheckUtils]: 12: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:15,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {38971#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,890 INFO L290 TraceCheckUtils]: 16: Hoare triple {38971#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38975#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,890 INFO L290 TraceCheckUtils]: 17: Hoare triple {38975#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38979#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:15,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {38979#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:15,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:15,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:15,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:15,892 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {38867#true} #111#return; {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:33:15,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:33:15,893 INFO L272 TraceCheckUtils]: 24: Hoare triple {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:15,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:15,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {39025#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {39025#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39029#(and (<= student_version_~j~1 1) (= student_version_~j~1 student_version_~y~1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {39029#(and (<= student_version_~j~1 1) (= student_version_~j~1 student_version_~y~1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39033#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:15,897 INFO L290 TraceCheckUtils]: 35: Hoare triple {39033#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:15,898 INFO L290 TraceCheckUtils]: 37: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:15,899 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {39049#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} is VALID [2022-04-28 10:33:15,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {39049#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {39053#(and (<= main_~n_stones2~0 3) (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3) (<= 3 main_~n_stones2~0))} is VALID [2022-04-28 10:33:15,900 INFO L272 TraceCheckUtils]: 41: Hoare triple {39053#(and (<= main_~n_stones2~0 3) (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3) (<= 3 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:15,900 INFO L290 TraceCheckUtils]: 42: Hoare triple {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {39061#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:15,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {39061#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38868#false} is VALID [2022-04-28 10:33:15,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-28 10:33:15,900 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:33:15,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:16,296 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-28 10:33:16,296 INFO L290 TraceCheckUtils]: 43: Hoare triple {39061#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38868#false} is VALID [2022-04-28 10:33:16,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {39061#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:16,297 INFO L272 TraceCheckUtils]: 41: Hoare triple {38905#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:16,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {38904#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {38905#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:16,299 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {38904#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:16,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:16,299 INFO L290 TraceCheckUtils]: 37: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {38922#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-28 10:33:16,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:16,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38921#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-28 10:33:16,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38920#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-28 10:33:16,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {38919#(and (<= 3 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 3))} is VALID [2022-04-28 10:33:16,301 INFO L290 TraceCheckUtils]: 32: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {38918#(and (<= 3 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 3))} is VALID [2022-04-28 10:33:16,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:16,302 INFO L290 TraceCheckUtils]: 30: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {38917#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:16,302 INFO L290 TraceCheckUtils]: 29: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:16,303 INFO L290 TraceCheckUtils]: 28: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:16,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:16,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:16,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {38916#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:16,304 INFO L272 TraceCheckUtils]: 24: Hoare triple {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:16,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {38888#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-28 10:33:16,305 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {38867#true} #111#return; {38887#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-28 10:33:16,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:16,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {38915#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-28 10:33:16,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:16,306 INFO L290 TraceCheckUtils]: 18: Hoare triple {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38914#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-28 10:33:16,307 INFO L290 TraceCheckUtils]: 17: Hoare triple {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38913#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-28 10:33:16,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {38912#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 3) (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:33:16,308 INFO L290 TraceCheckUtils]: 15: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {38911#(and (<= 3 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 3))} is VALID [2022-04-28 10:33:16,308 INFO L290 TraceCheckUtils]: 14: Hoare triple {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:16,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {38910#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:16,309 INFO L290 TraceCheckUtils]: 12: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:16,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:16,309 INFO L290 TraceCheckUtils]: 10: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:16,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:16,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {38867#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {38909#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:16,310 INFO L272 TraceCheckUtils]: 7: Hoare triple {38867#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {38867#true} is VALID [2022-04-28 10:33:16,310 INFO L290 TraceCheckUtils]: 6: Hoare triple {38867#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {38867#true} is VALID [2022-04-28 10:33:16,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {38867#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {38867#true} is VALID [2022-04-28 10:33:16,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-28 10:33:16,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-28 10:33:16,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-28 10:33:16,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {38867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {38867#true} is VALID [2022-04-28 10:33:16,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {38867#true} call ULTIMATE.init(); {38867#true} is VALID [2022-04-28 10:33:16,311 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:33:16,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1823005324] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:16,311 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:16,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 33 [2022-04-28 10:33:16,311 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:16,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1553607694] [2022-04-28 10:33:16,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1553607694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:16,312 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:16,312 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:33:16,312 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1541379185] [2022-04-28 10:33:16,312 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:16,312 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:33:16,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:16,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:16,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:16,336 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:33:16,337 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:16,337 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:33:16,337 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=975, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 10:33:16,337 INFO L87 Difference]: Start difference. First operand 212 states and 246 transitions. Second operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:19,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:19,530 INFO L93 Difference]: Finished difference Result 230 states and 267 transitions. [2022-04-28 10:33:19,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:33:19,530 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-28 10:33:19,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:19,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:19,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-28 10:33:19,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:19,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-28 10:33:19,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 82 transitions. [2022-04-28 10:33:19,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:19,593 INFO L225 Difference]: With dead ends: 230 [2022-04-28 10:33:19,593 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 10:33:19,594 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 76 SyntacticMatches, 9 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 481 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=206, Invalid=2656, Unknown=0, NotChecked=0, Total=2862 [2022-04-28 10:33:19,595 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 59 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 959 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 990 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 959 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:19,595 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 133 Invalid, 990 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 959 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:33:19,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 10:33:21,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-28 10:33:21,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:21,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) [2022-04-28 10:33:21,163 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) [2022-04-28 10:33:21,163 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) [2022-04-28 10:33:21,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:21,166 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-28 10:33:21,166 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-28 10:33:21,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:21,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:21,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) Second operand 224 states. [2022-04-28 10:33:21,167 INFO L87 Difference]: Start difference. First operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) Second operand 224 states. [2022-04-28 10:33:21,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:21,169 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-28 10:33:21,169 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-28 10:33:21,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:21,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:21,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:21,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:21,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 186 states have (on average 1.1935483870967742) internal successors, (222), 204 states have internal predecessors, (222), 14 states have call successors, (14), 5 states have call predecessors, (14), 21 states have return successors, (23), 12 states have call predecessors, (23), 12 states have call successors, (23) [2022-04-28 10:33:21,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-28 10:33:21,173 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 45 [2022-04-28 10:33:21,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:21,173 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-28 10:33:21,174 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 21 states have (on average 1.5714285714285714) internal successors, (33), 19 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:21,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-28 10:33:21,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 259 edges. 259 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:21,639 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-28 10:33:21,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 10:33:21,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:21,640 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:21,656 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:21,840 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-28 10:33:21,840 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:21,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:21,841 INFO L85 PathProgramCache]: Analyzing trace with hash 215774988, now seen corresponding path program 59 times [2022-04-28 10:33:21,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:21,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1842123325] [2022-04-28 10:33:21,843 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:21,843 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:21,843 INFO L85 PathProgramCache]: Analyzing trace with hash 215774988, now seen corresponding path program 60 times [2022-04-28 10:33:21,843 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:21,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [723302771] [2022-04-28 10:33:21,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:21,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:21,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:21,882 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:21,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:21,884 INFO L290 TraceCheckUtils]: 0: Hoare triple {40634#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {40597#true} is VALID [2022-04-28 10:33:21,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-28 10:33:21,885 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-28 10:33:21,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:21,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:21,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:21,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:21,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:21,987 INFO L290 TraceCheckUtils]: 3: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40636#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:33:21,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {40636#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40637#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:21,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {40637#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40638#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:21,988 INFO L290 TraceCheckUtils]: 6: Hoare triple {40638#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40639#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:33:21,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {40639#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40640#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} is VALID [2022-04-28 10:33:21,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {40640#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:21,991 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {40597#true} #111#return; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:21,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:21,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:22,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,143 INFO L290 TraceCheckUtils]: 3: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40643#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:33:22,144 INFO L290 TraceCheckUtils]: 4: Hoare triple {40643#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40644#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {40644#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40645#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {40645#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40646#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:33:22,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {40646#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40647#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:33:22,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {40647#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40648#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} is VALID [2022-04-28 10:33:22,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {40648#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} assume !(~l~1 < ~m); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,148 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {40617#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {40598#false} is VALID [2022-04-28 10:33:22,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {40597#true} call ULTIMATE.init(); {40634#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:22,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {40634#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {40597#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L290 TraceCheckUtils]: 6: Hoare triple {40597#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L272 TraceCheckUtils]: 7: Hoare triple {40597#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:22,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:22,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:22,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:33:22,151 INFO L290 TraceCheckUtils]: 11: Hoare triple {40635#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40636#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:33:22,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {40636#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40637#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:22,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {40637#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40638#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:22,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {40638#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40639#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:33:22,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {40639#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40640#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} is VALID [2022-04-28 10:33:22,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {40640#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,153 INFO L290 TraceCheckUtils]: 17: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:22,155 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {40597#true} #111#return; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:22,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:22,155 INFO L272 TraceCheckUtils]: 24: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:22,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,157 INFO L290 TraceCheckUtils]: 28: Hoare triple {40642#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40643#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:33:22,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {40643#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40644#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {40644#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40645#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:22,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {40645#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40646#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:33:22,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {40646#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40647#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:33:22,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {40647#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40648#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} is VALID [2022-04-28 10:33:22,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {40648#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} assume !(~l~1 < ~m); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,160 INFO L290 TraceCheckUtils]: 36: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:22,161 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {40617#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {40598#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L272 TraceCheckUtils]: 42: Hoare triple {40598#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-28 10:33:22,162 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:22,162 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:22,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [723302771] [2022-04-28 10:33:22,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [723302771] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:22,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1136822849] [2022-04-28 10:33:22,162 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:22,163 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:22,163 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:22,163 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:22,164 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 10:33:22,220 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:33:22,221 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:22,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 10:33:22,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:22,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:23,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {40597#true} call ULTIMATE.init(); {40597#true} is VALID [2022-04-28 10:33:23,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {40597#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {40597#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {40597#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L272 TraceCheckUtils]: 7: Hoare triple {40597#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:23,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,164 INFO L290 TraceCheckUtils]: 10: Hoare triple {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {40677#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40687#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,165 INFO L290 TraceCheckUtils]: 12: Hoare triple {40687#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40691#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {40691#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40695#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {40695#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40699#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {40699#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40703#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 5)) |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {40703#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 5)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:23,169 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {40597#true} #111#return; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:23,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:23,169 INFO L272 TraceCheckUtils]: 24: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:23,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:33:23,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:33:23,171 INFO L290 TraceCheckUtils]: 27: Hoare triple {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:33:23,171 INFO L290 TraceCheckUtils]: 28: Hoare triple {40734#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40744#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:33:23,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {40744#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40748#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:33:23,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {40748#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40752#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:33:23,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {40752#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40756#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:33:23,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {40756#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40760#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 5)))} is VALID [2022-04-28 10:33:23,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {40760#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 5)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,174 INFO L290 TraceCheckUtils]: 36: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,175 INFO L290 TraceCheckUtils]: 39: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:23,176 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {40617#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {40598#false} is VALID [2022-04-28 10:33:23,176 INFO L290 TraceCheckUtils]: 41: Hoare triple {40598#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {40598#false} is VALID [2022-04-28 10:33:23,176 INFO L272 TraceCheckUtils]: 42: Hoare triple {40598#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {40598#false} is VALID [2022-04-28 10:33:23,176 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-28 10:33:23,176 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-28 10:33:23,176 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-28 10:33:23,177 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:23,177 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:24,606 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-28 10:33:24,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-28 10:33:24,606 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-28 10:33:24,606 INFO L272 TraceCheckUtils]: 42: Hoare triple {40598#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {40598#false} is VALID [2022-04-28 10:33:24,607 INFO L290 TraceCheckUtils]: 41: Hoare triple {40598#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {40598#false} is VALID [2022-04-28 10:33:24,607 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {40617#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {40598#false} is VALID [2022-04-28 10:33:24,608 INFO L290 TraceCheckUtils]: 39: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,608 INFO L290 TraceCheckUtils]: 38: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,608 INFO L290 TraceCheckUtils]: 37: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,609 INFO L290 TraceCheckUtils]: 35: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,609 INFO L290 TraceCheckUtils]: 34: Hoare triple {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,609 INFO L290 TraceCheckUtils]: 33: Hoare triple {40839#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40649#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:33:24,610 INFO L290 TraceCheckUtils]: 32: Hoare triple {40843#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40839#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:33:24,610 INFO L290 TraceCheckUtils]: 31: Hoare triple {40847#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40843#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:33:24,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {40851#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40847#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:33:24,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {40855#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40851#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:33:24,612 INFO L290 TraceCheckUtils]: 28: Hoare triple {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {40855#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} is VALID [2022-04-28 10:33:24,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !(~b~1 < ~n); {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:33:24,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:33:24,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {40859#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:33:24,613 INFO L272 TraceCheckUtils]: 24: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:24,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {40617#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:24,614 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {40597#true} #111#return; {40617#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-28 10:33:24,614 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,616 INFO L290 TraceCheckUtils]: 16: Hoare triple {40896#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {40641#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-28 10:33:24,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {40900#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40896#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-28 10:33:24,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {40904#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40900#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:33:24,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {40908#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40904#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m))} is VALID [2022-04-28 10:33:24,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {40912#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40908#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)))} is VALID [2022-04-28 10:33:24,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {40912#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)))} is VALID [2022-04-28 10:33:24,619 INFO L290 TraceCheckUtils]: 10: Hoare triple {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !(~b~0 < ~n); {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:33:24,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:33:24,619 INFO L290 TraceCheckUtils]: 8: Hoare triple {40597#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {40916#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:33:24,635 INFO L272 TraceCheckUtils]: 7: Hoare triple {40597#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L290 TraceCheckUtils]: 6: Hoare triple {40597#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {40597#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {40597#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {40597#true} call ULTIMATE.init(); {40597#true} is VALID [2022-04-28 10:33:24,635 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 6 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:24,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1136822849] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:24,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:24,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-28 10:33:24,636 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:24,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1842123325] [2022-04-28 10:33:24,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1842123325] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:24,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:24,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:33:24,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1459651967] [2022-04-28 10:33:24,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:24,636 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:24,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:24,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:24,688 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:24,689 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:33:24,689 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:24,689 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:33:24,689 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 10:33:24,689 INFO L87 Difference]: Start difference. First operand 222 states and 259 transitions. Second operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:29,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:29,089 INFO L93 Difference]: Finished difference Result 268 states and 314 transitions. [2022-04-28 10:33:29,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:33:29,089 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:29,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:29,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:29,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 130 transitions. [2022-04-28 10:33:29,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:29,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 130 transitions. [2022-04-28 10:33:29,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 130 transitions. [2022-04-28 10:33:29,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:29,193 INFO L225 Difference]: With dead ends: 268 [2022-04-28 10:33:29,193 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 10:33:29,194 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 422 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=238, Invalid=3068, Unknown=0, NotChecked=0, Total=3306 [2022-04-28 10:33:29,195 INFO L413 NwaCegarLoop]: 76 mSDtfsCounter, 148 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 1581 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 157 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 1601 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 1581 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:29,195 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [157 Valid, 153 Invalid, 1601 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 1581 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 10:33:29,195 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 10:33:30,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 245. [2022-04-28 10:33:30,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:30,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) [2022-04-28 10:33:30,962 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) [2022-04-28 10:33:30,963 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) [2022-04-28 10:33:30,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:30,966 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-28 10:33:30,966 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-28 10:33:30,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:30,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:30,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) Second operand 254 states. [2022-04-28 10:33:30,967 INFO L87 Difference]: Start difference. First operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) Second operand 254 states. [2022-04-28 10:33:30,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:30,970 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-28 10:33:30,970 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-28 10:33:30,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:30,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:30,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:30,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:30,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 206 states have (on average 1.1941747572815533) internal successors, (246), 226 states have internal predecessors, (246), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (26), 13 states have call predecessors, (26), 13 states have call successors, (26) [2022-04-28 10:33:30,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 287 transitions. [2022-04-28 10:33:30,974 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 287 transitions. Word has length 46 [2022-04-28 10:33:30,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:30,974 INFO L495 AbstractCegarLoop]: Abstraction has 245 states and 287 transitions. [2022-04-28 10:33:30,974 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:30,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 245 states and 287 transitions. [2022-04-28 10:33:31,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 287 edges. 287 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:31,458 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 287 transitions. [2022-04-28 10:33:31,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 10:33:31,458 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:31,458 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:31,474 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:31,659 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-28 10:33:31,659 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:31,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:31,659 INFO L85 PathProgramCache]: Analyzing trace with hash 256944047, now seen corresponding path program 61 times [2022-04-28 10:33:31,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:31,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1111892800] [2022-04-28 10:33:31,665 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:31,665 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:31,665 INFO L85 PathProgramCache]: Analyzing trace with hash 256944047, now seen corresponding path program 62 times [2022-04-28 10:33:31,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:31,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [57992463] [2022-04-28 10:33:31,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:31,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:31,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:31,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:31,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:31,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {42550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42513#true} is VALID [2022-04-28 10:33:31,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-28 10:33:31,699 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-28 10:33:31,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:31,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:31,817 INFO L290 TraceCheckUtils]: 0: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,818 INFO L290 TraceCheckUtils]: 3: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42552#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,819 INFO L290 TraceCheckUtils]: 4: Hoare triple {42552#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42553#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {42553#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42554#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,820 INFO L290 TraceCheckUtils]: 6: Hoare triple {42554#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42555#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {42555#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42556#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:33:31,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {42556#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42557#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:33:31,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {42557#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,821 INFO L290 TraceCheckUtils]: 10: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,822 INFO L290 TraceCheckUtils]: 13: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,823 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {42513#true} #111#return; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:31,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:33:31,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:31,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,949 INFO L290 TraceCheckUtils]: 3: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42560#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:33:31,949 INFO L290 TraceCheckUtils]: 4: Hoare triple {42560#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42561#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:33:31,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {42561#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42562#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:33:31,951 INFO L290 TraceCheckUtils]: 6: Hoare triple {42562#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42563#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:33:31,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {42563#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42564#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:31,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {42564#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,952 INFO L290 TraceCheckUtils]: 10: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,954 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {42514#false} is VALID [2022-04-28 10:33:31,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {42513#true} call ULTIMATE.init(); {42550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:31,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {42550#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {42513#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {42513#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L272 TraceCheckUtils]: 7: Hoare triple {42513#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:31,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {42551#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42552#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {42552#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42553#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {42553#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42554#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {42554#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42555#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:31,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {42555#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42556#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:33:31,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {42556#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42557#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:33:31,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {42557#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,960 INFO L290 TraceCheckUtils]: 18: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,960 INFO L290 TraceCheckUtils]: 19: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,960 INFO L290 TraceCheckUtils]: 20: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,961 INFO L290 TraceCheckUtils]: 21: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:31,962 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {42513#true} #111#return; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:31,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:31,962 INFO L272 TraceCheckUtils]: 25: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:31,962 INFO L290 TraceCheckUtils]: 26: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,963 INFO L290 TraceCheckUtils]: 27: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,963 INFO L290 TraceCheckUtils]: 28: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:33:31,964 INFO L290 TraceCheckUtils]: 29: Hoare triple {42559#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42560#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:33:31,964 INFO L290 TraceCheckUtils]: 30: Hoare triple {42560#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42561#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:33:31,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {42561#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42562#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:33:31,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {42562#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42563#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:33:31,966 INFO L290 TraceCheckUtils]: 33: Hoare triple {42563#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42564#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:31,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {42564#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,967 INFO L290 TraceCheckUtils]: 36: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,967 INFO L290 TraceCheckUtils]: 37: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,967 INFO L290 TraceCheckUtils]: 38: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,968 INFO L290 TraceCheckUtils]: 39: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:31,968 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {42514#false} is VALID [2022-04-28 10:33:31,968 INFO L290 TraceCheckUtils]: 41: Hoare triple {42514#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {42514#false} is VALID [2022-04-28 10:33:31,968 INFO L272 TraceCheckUtils]: 42: Hoare triple {42514#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {42514#false} is VALID [2022-04-28 10:33:31,969 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-28 10:33:31,969 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-28 10:33:31,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-28 10:33:31,969 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:31,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:31,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [57992463] [2022-04-28 10:33:31,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [57992463] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:31,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1528035094] [2022-04-28 10:33:31,969 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:33:31,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:31,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:31,970 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:32,016 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 10:33:32,049 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:33:32,049 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:32,050 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 10:33:32,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:32,063 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:32,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {42513#true} call ULTIMATE.init(); {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {42513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {42513#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L290 TraceCheckUtils]: 6: Hoare triple {42513#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {42513#true} is VALID [2022-04-28 10:33:32,891 INFO L272 TraceCheckUtils]: 7: Hoare triple {42513#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:32,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,892 INFO L290 TraceCheckUtils]: 10: Hoare triple {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {42593#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42603#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {42603#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42607#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,894 INFO L290 TraceCheckUtils]: 13: Hoare triple {42607#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42611#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {42611#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42615#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:33:32,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {42615#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42619#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 5)))} is VALID [2022-04-28 10:33:32,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {42619#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 5)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,896 INFO L290 TraceCheckUtils]: 17: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,897 INFO L290 TraceCheckUtils]: 20: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,897 INFO L290 TraceCheckUtils]: 21: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:32,898 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {42513#true} #111#return; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:32,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:32,898 INFO L272 TraceCheckUtils]: 25: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:32,899 INFO L290 TraceCheckUtils]: 26: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,899 INFO L290 TraceCheckUtils]: 27: Hoare triple {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,899 INFO L290 TraceCheckUtils]: 28: Hoare triple {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {42653#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42663#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {42663#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42667#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:33:32,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {42667#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42671#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,902 INFO L290 TraceCheckUtils]: 32: Hoare triple {42671#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42675#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,902 INFO L290 TraceCheckUtils]: 33: Hoare triple {42675#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42679#(and (<= (div (- student_version_~l~1) (- 5)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:33:32,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {42679#(and (<= (div (- student_version_~l~1) (- 5)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,904 INFO L290 TraceCheckUtils]: 37: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:32,905 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L290 TraceCheckUtils]: 41: Hoare triple {42514#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L272 TraceCheckUtils]: 42: Hoare triple {42514#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-28 10:33:32,905 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:32,905 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:34,263 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-28 10:33:34,264 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-28 10:33:34,264 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-28 10:33:34,264 INFO L272 TraceCheckUtils]: 42: Hoare triple {42514#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {42514#false} is VALID [2022-04-28 10:33:34,264 INFO L290 TraceCheckUtils]: 41: Hoare triple {42514#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {42514#false} is VALID [2022-04-28 10:33:34,265 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {42514#false} is VALID [2022-04-28 10:33:34,265 INFO L290 TraceCheckUtils]: 39: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,266 INFO L290 TraceCheckUtils]: 38: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,266 INFO L290 TraceCheckUtils]: 37: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,266 INFO L290 TraceCheckUtils]: 36: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,266 INFO L290 TraceCheckUtils]: 35: Hoare triple {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,267 INFO L290 TraceCheckUtils]: 34: Hoare triple {42752#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {42565#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-28 10:33:34,267 INFO L290 TraceCheckUtils]: 33: Hoare triple {42756#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42752#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:33:34,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {42760#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42756#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:33:34,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {42764#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42760#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:33:34,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {42768#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42764#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:33:34,270 INFO L290 TraceCheckUtils]: 29: Hoare triple {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {42768#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:33:34,270 INFO L290 TraceCheckUtils]: 28: Hoare triple {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !(~b~1 < ~n); {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:33:34,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:33:34,270 INFO L290 TraceCheckUtils]: 26: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {42772#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:33:34,271 INFO L272 TraceCheckUtils]: 25: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:34,271 INFO L290 TraceCheckUtils]: 24: Hoare triple {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:34,271 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {42513#true} #111#return; {42534#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:33:34,272 INFO L290 TraceCheckUtils]: 22: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,272 INFO L290 TraceCheckUtils]: 21: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {42812#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42558#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:33:34,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {42816#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42812#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:33:34,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {42820#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42816#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)))} is VALID [2022-04-28 10:33:34,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {42824#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42820#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:33:34,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {42828#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42824#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} is VALID [2022-04-28 10:33:34,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {42828#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))))} is VALID [2022-04-28 10:33:34,276 INFO L290 TraceCheckUtils]: 10: Hoare triple {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} assume !(~b~0 < ~n); {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} is VALID [2022-04-28 10:33:34,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} is VALID [2022-04-28 10:33:34,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {42513#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {42832#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} is VALID [2022-04-28 10:33:34,277 INFO L272 TraceCheckUtils]: 7: Hoare triple {42513#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {42513#true} is VALID [2022-04-28 10:33:34,277 INFO L290 TraceCheckUtils]: 6: Hoare triple {42513#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {42513#true} is VALID [2022-04-28 10:33:34,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {42513#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {42513#true} is VALID [2022-04-28 10:33:34,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-28 10:33:34,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-28 10:33:34,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-28 10:33:34,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {42513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {42513#true} is VALID [2022-04-28 10:33:34,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {42513#true} call ULTIMATE.init(); {42513#true} is VALID [2022-04-28 10:33:34,278 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 6 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:33:34,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1528035094] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:34,278 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:34,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-28 10:33:34,278 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:34,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1111892800] [2022-04-28 10:33:34,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1111892800] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:34,279 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:34,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:33:34,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339001966] [2022-04-28 10:33:34,279 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:34,279 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:34,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:34,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:34,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:34,306 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:33:34,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:34,307 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:33:34,307 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 10:33:34,307 INFO L87 Difference]: Start difference. First operand 245 states and 287 transitions. Second operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:38,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:38,733 INFO L93 Difference]: Finished difference Result 260 states and 302 transitions. [2022-04-28 10:33:38,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:33:38,733 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:38,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:38,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:38,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-04-28 10:33:38,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:38,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-04-28 10:33:38,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 129 transitions. [2022-04-28 10:33:38,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:38,831 INFO L225 Difference]: With dead ends: 260 [2022-04-28 10:33:38,831 INFO L226 Difference]: Without dead ends: 248 [2022-04-28 10:33:38,832 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 431 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=238, Invalid=3068, Unknown=0, NotChecked=0, Total=3306 [2022-04-28 10:33:38,833 INFO L413 NwaCegarLoop]: 78 mSDtfsCounter, 153 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 1610 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 164 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 1629 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 1610 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:38,833 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [164 Valid, 155 Invalid, 1629 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 1610 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 10:33:38,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2022-04-28 10:33:40,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 246. [2022-04-28 10:33:40,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:40,675 INFO L82 GeneralOperation]: Start isEquivalent. First operand 248 states. Second operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:40,675 INFO L74 IsIncluded]: Start isIncluded. First operand 248 states. Second operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:40,675 INFO L87 Difference]: Start difference. First operand 248 states. Second operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:40,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:40,679 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-28 10:33:40,679 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-28 10:33:40,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:40,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:40,679 INFO L74 IsIncluded]: Start isIncluded. First operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 248 states. [2022-04-28 10:33:40,679 INFO L87 Difference]: Start difference. First operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 248 states. [2022-04-28 10:33:40,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:40,682 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-28 10:33:40,682 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-28 10:33:40,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:40,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:40,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:40,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:40,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 246 states, 207 states have (on average 1.1932367149758454) internal successors, (247), 227 states have internal predecessors, (247), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:40,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 246 states to 246 states and 286 transitions. [2022-04-28 10:33:40,687 INFO L78 Accepts]: Start accepts. Automaton has 246 states and 286 transitions. Word has length 46 [2022-04-28 10:33:40,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:40,687 INFO L495 AbstractCegarLoop]: Abstraction has 246 states and 286 transitions. [2022-04-28 10:33:40,687 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 18 states have internal predecessors, (38), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:40,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 246 states and 286 transitions. [2022-04-28 10:33:41,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 286 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:41,176 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 286 transitions. [2022-04-28 10:33:41,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 10:33:41,177 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:41,177 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:41,194 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:41,378 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable40,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:41,378 INFO L420 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:41,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:41,378 INFO L85 PathProgramCache]: Analyzing trace with hash -521678067, now seen corresponding path program 63 times [2022-04-28 10:33:41,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:41,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [823377033] [2022-04-28 10:33:41,380 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:41,380 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:41,380 INFO L85 PathProgramCache]: Analyzing trace with hash -521678067, now seen corresponding path program 64 times [2022-04-28 10:33:41,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:41,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247950680] [2022-04-28 10:33:41,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:41,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:41,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:41,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:41,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:41,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {44439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {44403#true} is VALID [2022-04-28 10:33:41,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,421 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-28 10:33:41,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:41,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {44403#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,426 INFO L290 TraceCheckUtils]: 10: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-28 10:33:41,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-28 10:33:41,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,427 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-28 10:33:41,427 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:41,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:41,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {44440#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:33:41,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {44440#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44441#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:33:41,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {44441#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44442#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:33:41,479 INFO L290 TraceCheckUtils]: 3: Hoare triple {44442#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,479 INFO L290 TraceCheckUtils]: 4: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {44443#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {44443#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:33:41,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:33:41,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:33:41,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44447#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {44447#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44404#false} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 12: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-28 10:33:41,482 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-28 10:33:41,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {44403#true} call ULTIMATE.init(); {44439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {44439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {44403#true} is VALID [2022-04-28 10:33:41,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {44403#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 6: Hoare triple {44403#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L272 TraceCheckUtils]: 7: Hoare triple {44403#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 10: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {44403#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 17: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 18: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 23: Hoare triple {44403#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L272 TraceCheckUtils]: 24: Hoare triple {44403#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {44440#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:33:41,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {44440#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44441#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:33:41,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {44441#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44442#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:33:41,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {44442#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {44443#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {44443#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:33:41,487 INFO L290 TraceCheckUtils]: 33: Hoare triple {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:33:41,487 INFO L290 TraceCheckUtils]: 34: Hoare triple {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 35: Hoare triple {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44447#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {44447#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44404#false} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-28 10:33:41,488 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-28 10:33:41,488 INFO L290 TraceCheckUtils]: 41: Hoare triple {44404#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {44404#false} is VALID [2022-04-28 10:33:41,489 INFO L272 TraceCheckUtils]: 42: Hoare triple {44404#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {44404#false} is VALID [2022-04-28 10:33:41,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-28 10:33:41,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-28 10:33:41,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-28 10:33:41,489 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:41,489 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:41,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [247950680] [2022-04-28 10:33:41,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [247950680] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:41,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [562437683] [2022-04-28 10:33:41,489 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:33:41,489 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:41,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:41,490 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:41,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 10:33:41,549 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:33:41,549 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:41,550 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 10:33:41,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:41,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:41,722 INFO L272 TraceCheckUtils]: 0: Hoare triple {44403#true} call ULTIMATE.init(); {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {44403#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 5: Hoare triple {44403#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 6: Hoare triple {44403#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L272 TraceCheckUtils]: 7: Hoare triple {44403#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {44403#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {44403#true} is VALID [2022-04-28 10:33:41,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 16: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 17: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 18: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {44403#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L272 TraceCheckUtils]: 24: Hoare triple {44403#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {44440#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:33:41,725 INFO L290 TraceCheckUtils]: 26: Hoare triple {44440#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44441#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:33:41,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {44441#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44442#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:33:41,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {44442#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {44443#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,727 INFO L290 TraceCheckUtils]: 32: Hoare triple {44443#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {44547#(and (<= student_version_~i~1 3) (<= 0 student_version_~x~1))} is VALID [2022-04-28 10:33:41,727 INFO L290 TraceCheckUtils]: 33: Hoare triple {44547#(and (<= student_version_~i~1 3) (<= 0 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44551#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 3))} is VALID [2022-04-28 10:33:41,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {44551#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44555#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 3))} is VALID [2022-04-28 10:33:41,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {44555#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44559#(and (<= student_version_~i~1 3) (<= 3 student_version_~x~1))} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {44559#(and (<= student_version_~i~1 3) (<= 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 41: Hoare triple {44404#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L272 TraceCheckUtils]: 42: Hoare triple {44404#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-28 10:33:41,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-28 10:33:41,730 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:41,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:41,886 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L272 TraceCheckUtils]: 42: Hoare triple {44404#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 41: Hoare triple {44404#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-28 10:33:41,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {44447#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44404#false} is VALID [2022-04-28 10:33:41,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44447#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:33:41,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44446#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:33:41,889 INFO L290 TraceCheckUtils]: 33: Hoare triple {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {44445#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:33:41,889 INFO L290 TraceCheckUtils]: 32: Hoare triple {44443#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {44444#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:33:41,890 INFO L290 TraceCheckUtils]: 31: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,890 INFO L290 TraceCheckUtils]: 30: Hoare triple {44443#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {44443#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,891 INFO L290 TraceCheckUtils]: 28: Hoare triple {44442#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44443#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:33:41,891 INFO L290 TraceCheckUtils]: 27: Hoare triple {44441#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44442#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:33:41,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {44440#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {44441#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {44440#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:33:41,892 INFO L272 TraceCheckUtils]: 24: Hoare triple {44403#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {44403#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {44403#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {44403#true} is VALID [2022-04-28 10:33:41,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {44403#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 10: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {44403#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {44403#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L272 TraceCheckUtils]: 7: Hoare triple {44403#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 6: Hoare triple {44403#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {44403#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-28 10:33:41,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {44403#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {44403#true} is VALID [2022-04-28 10:33:41,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {44403#true} call ULTIMATE.init(); {44403#true} is VALID [2022-04-28 10:33:41,896 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:41,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [562437683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:41,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:41,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-28 10:33:41,896 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:41,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [823377033] [2022-04-28 10:33:41,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [823377033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:41,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:41,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:33:41,897 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1239832381] [2022-04-28 10:33:41,897 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:41,897 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 46 [2022-04-28 10:33:41,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:41,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:33:41,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:41,925 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:33:41,925 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:41,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:33:41,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-28 10:33:41,925 INFO L87 Difference]: Start difference. First operand 246 states and 286 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:33:44,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:44,589 INFO L93 Difference]: Finished difference Result 332 states and 391 transitions. [2022-04-28 10:33:44,589 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:33:44,589 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 46 [2022-04-28 10:33:44,590 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:44,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:33:44,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-28 10:33:44,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:33:44,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-28 10:33:44,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2022-04-28 10:33:44,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:44,648 INFO L225 Difference]: With dead ends: 332 [2022-04-28 10:33:44,648 INFO L226 Difference]: Without dead ends: 302 [2022-04-28 10:33:44,650 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=213, Invalid=599, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:33:44,650 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 71 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 181 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:44,650 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [74 Valid, 57 Invalid, 181 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:33:44,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 302 states. [2022-04-28 10:33:46,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 302 to 284. [2022-04-28 10:33:46,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:46,826 INFO L82 GeneralOperation]: Start isEquivalent. First operand 302 states. Second operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:46,826 INFO L74 IsIncluded]: Start isIncluded. First operand 302 states. Second operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:46,826 INFO L87 Difference]: Start difference. First operand 302 states. Second operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:46,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:46,830 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-28 10:33:46,831 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-28 10:33:46,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:46,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:46,831 INFO L74 IsIncluded]: Start isIncluded. First operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 302 states. [2022-04-28 10:33:46,832 INFO L87 Difference]: Start difference. First operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 302 states. [2022-04-28 10:33:46,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:46,835 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-28 10:33:46,836 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-28 10:33:46,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:46,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:46,836 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:46,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:46,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 284 states, 245 states have (on average 1.1918367346938776) internal successors, (292), 265 states have internal predecessors, (292), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:46,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 331 transitions. [2022-04-28 10:33:46,841 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 331 transitions. Word has length 46 [2022-04-28 10:33:46,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:46,841 INFO L495 AbstractCegarLoop]: Abstraction has 284 states and 331 transitions. [2022-04-28 10:33:46,841 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:33:46,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 331 transitions. [2022-04-28 10:33:47,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 331 edges. 331 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:47,400 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 331 transitions. [2022-04-28 10:33:47,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 10:33:47,401 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:47,401 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:47,417 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:47,601 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable41,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:47,601 INFO L420 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:47,602 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:47,602 INFO L85 PathProgramCache]: Analyzing trace with hash -467445298, now seen corresponding path program 65 times [2022-04-28 10:33:47,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:47,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [830150091] [2022-04-28 10:33:47,604 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:47,604 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:47,604 INFO L85 PathProgramCache]: Analyzing trace with hash -467445298, now seen corresponding path program 66 times [2022-04-28 10:33:47,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:47,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775226708] [2022-04-28 10:33:47,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:47,604 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:47,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:47,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:47,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:47,633 INFO L290 TraceCheckUtils]: 0: Hoare triple {46627#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {46591#true} is VALID [2022-04-28 10:33:47,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:47,633 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-28 10:33:47,633 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:47,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:47,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {46628#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:33:47,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {46628#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46629#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:33:47,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {46629#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46630#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:33:47,690 INFO L290 TraceCheckUtils]: 3: Hoare triple {46630#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,691 INFO L290 TraceCheckUtils]: 4: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,691 INFO L290 TraceCheckUtils]: 6: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {46631#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:33:47,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:33:47,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:33:47,693 INFO L290 TraceCheckUtils]: 10: Hoare triple {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46635#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:33:47,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {46635#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46592#false} is VALID [2022-04-28 10:33:47,694 INFO L290 TraceCheckUtils]: 12: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-28 10:33:47,694 INFO L290 TraceCheckUtils]: 13: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-28 10:33:47,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-28 10:33:47,694 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-28 10:33:47,694 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:33:47,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 3: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 4: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {46591#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-28 10:33:47,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 10: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-28 10:33:47,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {46591#true} call ULTIMATE.init(); {46627#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {46627#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {46591#true} is VALID [2022-04-28 10:33:47,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {46591#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {46591#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L272 TraceCheckUtils]: 7: Hoare triple {46591#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {46591#true} is VALID [2022-04-28 10:33:47,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {46628#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:33:47,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {46628#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46629#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:33:47,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {46629#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46630#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:33:47,704 INFO L290 TraceCheckUtils]: 11: Hoare triple {46630#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,704 INFO L290 TraceCheckUtils]: 12: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {46631#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:33:47,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:33:47,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:33:47,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46635#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:33:47,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {46635#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 24: Hoare triple {46592#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {46592#false} is VALID [2022-04-28 10:33:47,707 INFO L272 TraceCheckUtils]: 25: Hoare triple {46592#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 28: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 29: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 30: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 31: Hoare triple {46591#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-28 10:33:47,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 37: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 39: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:47,708 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 41: Hoare triple {46592#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L272 TraceCheckUtils]: 42: Hoare triple {46592#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-28 10:33:47,708 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:47,709 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:47,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1775226708] [2022-04-28 10:33:47,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1775226708] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:47,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [822592886] [2022-04-28 10:33:47,709 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:47,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:47,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:47,710 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:47,711 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 10:33:47,773 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:33:47,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:47,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 10:33:47,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:47,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:47,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {46591#true} call ULTIMATE.init(); {46591#true} is VALID [2022-04-28 10:33:47,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {46591#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {46591#true} is VALID [2022-04-28 10:33:47,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:47,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-28 10:33:47,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-28 10:33:47,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {46591#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {46591#true} is VALID [2022-04-28 10:33:47,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {46591#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {46591#true} is VALID [2022-04-28 10:33:47,965 INFO L272 TraceCheckUtils]: 7: Hoare triple {46591#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {46591#true} is VALID [2022-04-28 10:33:47,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {46628#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:33:47,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {46628#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46629#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:33:47,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {46629#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46630#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:33:47,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {46630#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:47,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {46631#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {46684#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-28 10:33:47,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {46684#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46688#(and (<= 1 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-28 10:33:47,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {46688#(and (<= 1 correct_version_~x~0) (<= correct_version_~i~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46692#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {46692#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46696#(and (<= 3 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {46696#(and (<= 3 correct_version_~x~0) (<= correct_version_~i~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46592#false} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-28 10:33:47,969 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-28 10:33:47,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {46592#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L272 TraceCheckUtils]: 25: Hoare triple {46592#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {46592#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {46592#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 28: Hoare triple {46592#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {46592#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {46592#false} assume !(~b~1 < ~n); {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 31: Hoare triple {46592#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 32: Hoare triple {46592#false} assume !(~l~1 < ~m); {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 33: Hoare triple {46592#false} ~x~1 := 0;~y~1 := 0; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {46592#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {46592#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {46592#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {46592#false} assume !(~x~1 < ~i~1); {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 38: Hoare triple {46592#false} #res := ~y~1; {46592#false} is VALID [2022-04-28 10:33:47,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46592#false} {46592#false} #113#return; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L290 TraceCheckUtils]: 41: Hoare triple {46592#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L272 TraceCheckUtils]: 42: Hoare triple {46592#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-28 10:33:47,971 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:47,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L272 TraceCheckUtils]: 42: Hoare triple {46592#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {46592#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:48,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 37: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 36: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 35: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 34: Hoare triple {46591#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 32: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {46591#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 28: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 27: Hoare triple {46591#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 26: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L272 TraceCheckUtils]: 25: Hoare triple {46592#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {46591#true} is VALID [2022-04-28 10:33:48,102 INFO L290 TraceCheckUtils]: 24: Hoare triple {46592#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {46592#false} is VALID [2022-04-28 10:33:48,102 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-28 10:33:48,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-28 10:33:48,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-28 10:33:48,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-28 10:33:48,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {46635#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46592#false} is VALID [2022-04-28 10:33:48,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46635#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:33:48,104 INFO L290 TraceCheckUtils]: 17: Hoare triple {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46634#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:33:48,104 INFO L290 TraceCheckUtils]: 16: Hoare triple {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {46633#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:33:48,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {46631#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {46632#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:33:48,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:48,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:48,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {46631#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:48,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {46630#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46631#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:33:48,106 INFO L290 TraceCheckUtils]: 10: Hoare triple {46629#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46630#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {46628#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {46629#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {46591#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {46628#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:33:48,107 INFO L272 TraceCheckUtils]: 7: Hoare triple {46591#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {46591#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {46591#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {46591#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {46591#true} is VALID [2022-04-28 10:33:48,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {46591#true} call ULTIMATE.init(); {46591#true} is VALID [2022-04-28 10:33:48,111 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 10:33:48,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [822592886] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:48,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:48,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-28 10:33:48,111 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:48,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [830150091] [2022-04-28 10:33:48,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [830150091] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:48,112 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:48,112 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:33:48,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1649624070] [2022-04-28 10:33:48,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:48,112 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:48,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:48,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:48,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:48,136 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:33:48,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:48,136 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:33:48,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-28 10:33:48,136 INFO L87 Difference]: Start difference. First operand 284 states and 331 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:51,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:51,129 INFO L93 Difference]: Finished difference Result 525 states and 613 transitions. [2022-04-28 10:33:51,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:33:51,129 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-28 10:33:51,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:51,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:51,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-28 10:33:51,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:51,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-28 10:33:51,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 95 transitions. [2022-04-28 10:33:51,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:51,207 INFO L225 Difference]: With dead ends: 525 [2022-04-28 10:33:51,207 INFO L226 Difference]: Without dead ends: 340 [2022-04-28 10:33:51,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 154 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=213, Invalid=599, Unknown=0, NotChecked=0, Total=812 [2022-04-28 10:33:51,209 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 71 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 193 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:51,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [74 Valid, 60 Invalid, 193 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:33:51,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2022-04-28 10:33:53,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 322. [2022-04-28 10:33:53,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:53,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:53,679 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:53,680 INFO L87 Difference]: Start difference. First operand 340 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:53,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:53,685 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-28 10:33:53,685 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-28 10:33:53,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:53,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:53,686 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 340 states. [2022-04-28 10:33:53,686 INFO L87 Difference]: Start difference. First operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) Second operand 340 states. [2022-04-28 10:33:53,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:53,691 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-28 10:33:53,691 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-28 10:33:53,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:53,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:53,692 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:53,692 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:53,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (24), 13 states have call predecessors, (24), 13 states have call successors, (24) [2022-04-28 10:33:53,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 376 transitions. [2022-04-28 10:33:53,698 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 376 transitions. Word has length 46 [2022-04-28 10:33:53,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:53,698 INFO L495 AbstractCegarLoop]: Abstraction has 322 states and 376 transitions. [2022-04-28 10:33:53,698 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:53,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 322 states and 376 transitions. [2022-04-28 10:33:54,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 376 edges. 376 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:54,326 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 376 transitions. [2022-04-28 10:33:54,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:33:54,327 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:54,327 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:54,344 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:54,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-28 10:33:54,528 INFO L420 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:54,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:54,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1644141558, now seen corresponding path program 67 times [2022-04-28 10:33:54,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:54,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1489075299] [2022-04-28 10:33:54,530 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:54,530 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:54,530 INFO L85 PathProgramCache]: Analyzing trace with hash -1644141558, now seen corresponding path program 68 times [2022-04-28 10:33:54,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:54,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [107651562] [2022-04-28 10:33:54,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:54,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:54,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:54,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:54,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:54,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {49360#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {49317#true} is VALID [2022-04-28 10:33:54,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-28 10:33:54,616 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-28 10:33:54,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:54,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:54,777 INFO L290 TraceCheckUtils]: 0: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,779 INFO L290 TraceCheckUtils]: 3: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:54,779 INFO L290 TraceCheckUtils]: 4: Hoare triple {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:54,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:54,780 INFO L290 TraceCheckUtils]: 6: Hoare triple {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:33:54,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:54,781 INFO L290 TraceCheckUtils]: 10: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:54,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:54,782 INFO L290 TraceCheckUtils]: 12: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:54,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:54,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:54,784 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {49317#true} #111#return; {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:54,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:33:54,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:54,996 INFO L290 TraceCheckUtils]: 0: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:54,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:54,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:54,997 INFO L290 TraceCheckUtils]: 3: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:54,997 INFO L290 TraceCheckUtils]: 4: Hoare triple {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:54,998 INFO L290 TraceCheckUtils]: 5: Hoare triple {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:54,998 INFO L290 TraceCheckUtils]: 6: Hoare triple {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:33:54,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:33:54,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:54,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,000 INFO L290 TraceCheckUtils]: 10: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:55,000 INFO L290 TraceCheckUtils]: 11: Hoare triple {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,001 INFO L290 TraceCheckUtils]: 12: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,002 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {49356#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:55,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {49317#true} call ULTIMATE.init(); {49360#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:33:55,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {49360#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {49317#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L290 TraceCheckUtils]: 6: Hoare triple {49317#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L272 TraceCheckUtils]: 7: Hoare triple {49317#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:55,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:55,005 INFO L290 TraceCheckUtils]: 12: Hoare triple {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:55,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:55,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:33:55,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,007 INFO L290 TraceCheckUtils]: 16: Hoare triple {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:55,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:55,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:55,009 INFO L290 TraceCheckUtils]: 21: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:55,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:55,010 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {49317#true} #111#return; {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:55,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:55,010 INFO L272 TraceCheckUtils]: 25: Hoare triple {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:55,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,011 INFO L290 TraceCheckUtils]: 29: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:55,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:55,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:55,013 INFO L290 TraceCheckUtils]: 32: Hoare triple {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:33:55,013 INFO L290 TraceCheckUtils]: 33: Hoare triple {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:33:55,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:55,015 INFO L290 TraceCheckUtils]: 37: Hoare triple {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,016 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {49356#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:55,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {49356#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {49357#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:55,017 INFO L272 TraceCheckUtils]: 43: Hoare triple {49357#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {49358#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:33:55,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {49358#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {49359#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:33:55,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {49359#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {49318#false} is VALID [2022-04-28 10:33:55,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-28 10:33:55,018 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:33:55,018 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:55,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [107651562] [2022-04-28 10:33:55,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [107651562] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:55,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [604959326] [2022-04-28 10:33:55,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:33:55,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:55,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:55,020 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:55,020 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 10:33:55,081 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:33:55,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:55,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 10:33:55,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:55,092 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:55,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {49317#true} call ULTIMATE.init(); {49317#true} is VALID [2022-04-28 10:33:55,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {49317#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {49317#true} is VALID [2022-04-28 10:33:55,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-28 10:33:55,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-28 10:33:55,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-28 10:33:55,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {49317#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {49317#true} is VALID [2022-04-28 10:33:55,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {49317#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {49317#true} is VALID [2022-04-28 10:33:55,627 INFO L272 TraceCheckUtils]: 7: Hoare triple {49317#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:55,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:55,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:55,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:55,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:33:55,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,631 INFO L290 TraceCheckUtils]: 17: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,631 INFO L290 TraceCheckUtils]: 18: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {49438#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:55,631 INFO L290 TraceCheckUtils]: 19: Hoare triple {49438#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:55,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:55,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:55,632 INFO L290 TraceCheckUtils]: 22: Hoare triple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:55,633 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {49317#true} #111#return; {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:55,633 INFO L290 TraceCheckUtils]: 24: Hoare triple {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:55,633 INFO L272 TraceCheckUtils]: 25: Hoare triple {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:55,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:55,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:55,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:55,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:55,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:33:55,637 INFO L290 TraceCheckUtils]: 33: Hoare triple {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:33:55,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {49493#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:55,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {49493#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,638 INFO L290 TraceCheckUtils]: 38: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:55,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:55,640 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {49509#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:55,640 INFO L290 TraceCheckUtils]: 42: Hoare triple {49509#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {49513#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:55,641 INFO L272 TraceCheckUtils]: 43: Hoare triple {49513#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:55,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {49521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:55,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {49521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {49318#false} is VALID [2022-04-28 10:33:55,641 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-28 10:33:55,641 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:33:55,641 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:56,038 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-28 10:33:56,038 INFO L290 TraceCheckUtils]: 45: Hoare triple {49521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {49318#false} is VALID [2022-04-28 10:33:56,038 INFO L290 TraceCheckUtils]: 44: Hoare triple {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {49521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:33:56,039 INFO L272 TraceCheckUtils]: 43: Hoare triple {49357#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:33:56,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {49356#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {49357#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:33:56,040 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {49356#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:33:56,040 INFO L290 TraceCheckUtils]: 40: Hoare triple {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:56,041 INFO L290 TraceCheckUtils]: 39: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {49380#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:33:56,041 INFO L290 TraceCheckUtils]: 38: Hoare triple {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:56,042 INFO L290 TraceCheckUtils]: 37: Hoare triple {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {49379#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:33:56,042 INFO L290 TraceCheckUtils]: 36: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {49378#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:33:56,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:56,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49377#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:33:56,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49376#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:33:56,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49375#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:33:56,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49374#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:33:56,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49373#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:33:56,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {49372#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:33:56,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:56,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:56,046 INFO L290 TraceCheckUtils]: 26: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {49371#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:33:56,046 INFO L272 TraceCheckUtils]: 25: Hoare triple {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:56,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {49339#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:33:56,047 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {49317#true} #111#return; {49338#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:33:56,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:56,048 INFO L290 TraceCheckUtils]: 21: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {49370#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:33:56,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:56,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {49369#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:33:56,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {49368#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:33:56,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49367#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49366#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49365#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:33:56,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49364#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:33:56,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49363#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:33:56,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {49362#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:33:56,052 INFO L290 TraceCheckUtils]: 10: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {49317#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {49361#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:33:56,053 INFO L272 TraceCheckUtils]: 7: Hoare triple {49317#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L290 TraceCheckUtils]: 6: Hoare triple {49317#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {49317#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {49317#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {49317#true} call ULTIMATE.init(); {49317#true} is VALID [2022-04-28 10:33:56,053 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:33:56,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [604959326] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:56,054 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:56,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 35 [2022-04-28 10:33:56,054 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:56,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1489075299] [2022-04-28 10:33:56,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1489075299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:56,054 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:56,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:33:56,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [169481377] [2022-04-28 10:33:56,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:56,054 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:33:56,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:56,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:33:56,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:56,084 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:33:56,084 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:56,084 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:33:56,084 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=1113, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 10:33:56,084 INFO L87 Difference]: Start difference. First operand 322 states and 376 transitions. Second operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:03,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:03,556 INFO L93 Difference]: Finished difference Result 392 states and 457 transitions. [2022-04-28 10:34:03,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:34:03,556 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:03,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:03,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:03,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-28 10:34:03,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:03,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-28 10:34:03,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 158 transitions. [2022-04-28 10:34:03,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:03,688 INFO L225 Difference]: With dead ends: 392 [2022-04-28 10:34:03,688 INFO L226 Difference]: Without dead ends: 386 [2022-04-28 10:34:03,690 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 88 SyntacticMatches, 5 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 520 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=214, Invalid=3568, Unknown=0, NotChecked=0, Total=3782 [2022-04-28 10:34:03,690 INFO L413 NwaCegarLoop]: 81 mSDtfsCounter, 174 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 3110 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 181 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 3150 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 3110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:34:03,690 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [181 Valid, 213 Invalid, 3150 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 3110 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 10:34:03,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-28 10:34:06,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 338. [2022-04-28 10:34:06,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:06,411 INFO L82 GeneralOperation]: Start isEquivalent. First operand 386 states. Second operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) [2022-04-28 10:34:06,411 INFO L74 IsIncluded]: Start isIncluded. First operand 386 states. Second operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) [2022-04-28 10:34:06,411 INFO L87 Difference]: Start difference. First operand 386 states. Second operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) [2022-04-28 10:34:06,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:06,417 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-28 10:34:06,417 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-28 10:34:06,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:06,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:06,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) Second operand 386 states. [2022-04-28 10:34:06,419 INFO L87 Difference]: Start difference. First operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) Second operand 386 states. [2022-04-28 10:34:06,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:06,424 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-28 10:34:06,424 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-28 10:34:06,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:06,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:06,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:06,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:06,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 338 states, 296 states have (on average 1.1891891891891893) internal successors, (352), 318 states have internal predecessors, (352), 16 states have call successors, (16), 5 states have call predecessors, (16), 25 states have return successors, (27), 14 states have call predecessors, (27), 14 states have call successors, (27) [2022-04-28 10:34:06,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 395 transitions. [2022-04-28 10:34:06,431 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 395 transitions. Word has length 47 [2022-04-28 10:34:06,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:06,431 INFO L495 AbstractCegarLoop]: Abstraction has 338 states and 395 transitions. [2022-04-28 10:34:06,431 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:06,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 395 transitions. [2022-04-28 10:34:07,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 395 edges. 395 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:07,104 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 395 transitions. [2022-04-28 10:34:07,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:34:07,105 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:07,105 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:34:07,123 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:07,305 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable43,35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:07,305 INFO L420 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:07,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:07,306 INFO L85 PathProgramCache]: Analyzing trace with hash 1497239530, now seen corresponding path program 69 times [2022-04-28 10:34:07,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:07,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1356010846] [2022-04-28 10:34:07,308 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:07,308 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:07,308 INFO L85 PathProgramCache]: Analyzing trace with hash 1497239530, now seen corresponding path program 70 times [2022-04-28 10:34:07,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:07,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [664291791] [2022-04-28 10:34:07,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:07,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:07,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:07,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:07,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:07,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {51998#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {51955#true} is VALID [2022-04-28 10:34:07,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-28 10:34:07,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-28 10:34:07,408 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:07,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:07,542 INFO L290 TraceCheckUtils]: 0: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,543 INFO L290 TraceCheckUtils]: 3: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,544 INFO L290 TraceCheckUtils]: 4: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:07,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:07,544 INFO L290 TraceCheckUtils]: 6: Hoare triple {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:34:07,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:07,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:07,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:34:07,546 INFO L290 TraceCheckUtils]: 10: Hoare triple {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:34:07,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:07,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:07,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:07,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:07,548 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {51955#true} #111#return; {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:34:07,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:34:07,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:07,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,736 INFO L290 TraceCheckUtils]: 3: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,737 INFO L290 TraceCheckUtils]: 4: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:07,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:07,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:34:07,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:07,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:07,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:34:07,739 INFO L290 TraceCheckUtils]: 10: Hoare triple {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:34:07,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:07,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:07,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:07,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:07,742 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {51994#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:07,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {51955#true} call ULTIMATE.init(); {51998#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:34:07,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {51998#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {51955#true} is VALID [2022-04-28 10:34:07,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-28 10:34:07,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-28 10:34:07,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-28 10:34:07,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {51955#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {51955#true} is VALID [2022-04-28 10:34:07,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {51955#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {51955#true} is VALID [2022-04-28 10:34:07,743 INFO L272 TraceCheckUtils]: 7: Hoare triple {51955#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:07,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,744 INFO L290 TraceCheckUtils]: 10: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,744 INFO L290 TraceCheckUtils]: 11: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:07,745 INFO L290 TraceCheckUtils]: 12: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:07,745 INFO L290 TraceCheckUtils]: 13: Hoare triple {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:07,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:34:07,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:07,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:07,747 INFO L290 TraceCheckUtils]: 17: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:34:07,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:34:07,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:07,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:07,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:07,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:07,749 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {51955#true} #111#return; {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:34:07,749 INFO L290 TraceCheckUtils]: 24: Hoare triple {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:34:07,750 INFO L272 TraceCheckUtils]: 25: Hoare triple {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:07,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,751 INFO L290 TraceCheckUtils]: 28: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,751 INFO L290 TraceCheckUtils]: 29: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:07,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:07,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:07,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:34:07,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:07,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:07,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:34:07,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:34:07,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:07,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:07,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:07,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:07,756 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {51994#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:07,756 INFO L290 TraceCheckUtils]: 42: Hoare triple {51994#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {51995#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:34:07,757 INFO L272 TraceCheckUtils]: 43: Hoare triple {51995#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {51996#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:34:07,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {51996#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {51997#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:34:07,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {51997#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {51956#false} is VALID [2022-04-28 10:34:07,758 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-28 10:34:07,758 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:34:07,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:07,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [664291791] [2022-04-28 10:34:07,758 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [664291791] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:07,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1515902202] [2022-04-28 10:34:07,758 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:34:07,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:07,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:07,759 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:07,760 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-28 10:34:07,820 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:34:07,820 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:07,821 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:34:07,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:07,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:08,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {51955#true} call ULTIMATE.init(); {51955#true} is VALID [2022-04-28 10:34:08,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {51955#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {51955#true} is VALID [2022-04-28 10:34:08,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-28 10:34:08,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-28 10:34:08,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-28 10:34:08,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {51955#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {51955#true} is VALID [2022-04-28 10:34:08,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {51955#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {51955#true} is VALID [2022-04-28 10:34:08,416 INFO L272 TraceCheckUtils]: 7: Hoare triple {51955#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:08,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,424 INFO L290 TraceCheckUtils]: 10: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:08,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:08,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:34:08,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,428 INFO L290 TraceCheckUtils]: 17: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {52071#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {52071#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52075#(and (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,429 INFO L290 TraceCheckUtils]: 19: Hoare triple {52075#(and (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:08,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:08,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:08,430 INFO L290 TraceCheckUtils]: 22: Hoare triple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:08,431 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {51955#true} #111#return; {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:34:08,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:34:08,431 INFO L272 TraceCheckUtils]: 25: Hoare triple {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:08,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,432 INFO L290 TraceCheckUtils]: 28: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,433 INFO L290 TraceCheckUtils]: 29: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,433 INFO L290 TraceCheckUtils]: 30: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:08,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:08,434 INFO L290 TraceCheckUtils]: 32: Hoare triple {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:34:08,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,436 INFO L290 TraceCheckUtils]: 35: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {52127#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {52127#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52131#(and (= student_version_~j~1 student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,437 INFO L290 TraceCheckUtils]: 37: Hoare triple {52131#(and (= student_version_~j~1 student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:08,437 INFO L290 TraceCheckUtils]: 38: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:08,437 INFO L290 TraceCheckUtils]: 39: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:08,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:08,438 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {52147#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-28 10:34:08,439 INFO L290 TraceCheckUtils]: 42: Hoare triple {52147#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {52151#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:34:08,439 INFO L272 TraceCheckUtils]: 43: Hoare triple {52151#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:34:08,440 INFO L290 TraceCheckUtils]: 44: Hoare triple {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52159#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:34:08,440 INFO L290 TraceCheckUtils]: 45: Hoare triple {52159#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {51956#false} is VALID [2022-04-28 10:34:08,440 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-28 10:34:08,440 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:34:08,440 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:08,863 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-28 10:34:08,863 INFO L290 TraceCheckUtils]: 45: Hoare triple {52159#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {51956#false} is VALID [2022-04-28 10:34:08,864 INFO L290 TraceCheckUtils]: 44: Hoare triple {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52159#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:34:08,864 INFO L272 TraceCheckUtils]: 43: Hoare triple {51995#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:34:08,865 INFO L290 TraceCheckUtils]: 42: Hoare triple {51994#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {51995#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:34:08,865 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {51994#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:08,866 INFO L290 TraceCheckUtils]: 40: Hoare triple {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:08,866 INFO L290 TraceCheckUtils]: 39: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {52016#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:34:08,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:08,867 INFO L290 TraceCheckUtils]: 37: Hoare triple {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52015#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:34:08,867 INFO L290 TraceCheckUtils]: 36: Hoare triple {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {52014#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:34:08,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {52013#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:34:08,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52012#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:34:08,869 INFO L290 TraceCheckUtils]: 32: Hoare triple {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52011#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:34:08,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52010#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:08,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {52009#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:08,870 INFO L290 TraceCheckUtils]: 29: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,871 INFO L290 TraceCheckUtils]: 28: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52008#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:08,871 INFO L272 TraceCheckUtils]: 25: Hoare triple {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:08,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {51977#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:34:08,872 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {51955#true} #111#return; {51976#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:34:08,873 INFO L290 TraceCheckUtils]: 22: Hoare triple {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:08,873 INFO L290 TraceCheckUtils]: 21: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {52007#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:34:08,873 INFO L290 TraceCheckUtils]: 20: Hoare triple {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:08,874 INFO L290 TraceCheckUtils]: 19: Hoare triple {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52006#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:34:08,874 INFO L290 TraceCheckUtils]: 18: Hoare triple {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {52005#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:34:08,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {52004#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:34:08,875 INFO L290 TraceCheckUtils]: 16: Hoare triple {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52003#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:34:08,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52002#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:34:08,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52001#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:08,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {52000#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:08,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,877 INFO L290 TraceCheckUtils]: 10: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {51955#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {51999#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:08,878 INFO L272 TraceCheckUtils]: 7: Hoare triple {51955#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {51955#true} is VALID [2022-04-28 10:34:08,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {51955#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {51955#true} is VALID [2022-04-28 10:34:08,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {51955#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {51955#true} is VALID [2022-04-28 10:34:08,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-28 10:34:08,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-28 10:34:08,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-28 10:34:08,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {51955#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {51955#true} is VALID [2022-04-28 10:34:08,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {51955#true} call ULTIMATE.init(); {51955#true} is VALID [2022-04-28 10:34:08,879 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:34:08,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1515902202] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:08,879 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:08,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 35 [2022-04-28 10:34:08,879 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:08,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1356010846] [2022-04-28 10:34:08,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1356010846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:08,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:08,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:34:08,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [575820399] [2022-04-28 10:34:08,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:08,880 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:08,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:08,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:08,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:08,909 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:34:08,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:08,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:34:08,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1109, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 10:34:08,910 INFO L87 Difference]: Start difference. First operand 338 states and 395 transitions. Second operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:14,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:14,687 INFO L93 Difference]: Finished difference Result 344 states and 400 transitions. [2022-04-28 10:34:14,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:34:14,687 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:14,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:14,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:14,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-28 10:34:14,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:14,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-28 10:34:14,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 124 transitions. [2022-04-28 10:34:14,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:14,785 INFO L225 Difference]: With dead ends: 344 [2022-04-28 10:34:14,785 INFO L226 Difference]: Without dead ends: 322 [2022-04-28 10:34:14,786 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 539 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=216, Invalid=3324, Unknown=0, NotChecked=0, Total=3540 [2022-04-28 10:34:14,787 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 120 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2095 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 2128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 2095 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:34:14,787 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [122 Valid, 180 Invalid, 2128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 2095 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 10:34:14,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2022-04-28 10:34:17,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 322. [2022-04-28 10:34:17,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:17,338 INFO L82 GeneralOperation]: Start isEquivalent. First operand 322 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:34:17,338 INFO L74 IsIncluded]: Start isIncluded. First operand 322 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:34:17,339 INFO L87 Difference]: Start difference. First operand 322 states. Second operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:34:17,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:17,343 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-28 10:34:17,343 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-28 10:34:17,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:17,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:17,344 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) Second operand 322 states. [2022-04-28 10:34:17,344 INFO L87 Difference]: Start difference. First operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) Second operand 322 states. [2022-04-28 10:34:17,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:17,349 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-28 10:34:17,349 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-28 10:34:17,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:17,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:17,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:17,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:17,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 283 states have (on average 1.1908127208480566) internal successors, (337), 303 states have internal predecessors, (337), 15 states have call successors, (15), 5 states have call predecessors, (15), 23 states have return successors, (25), 13 states have call predecessors, (25), 13 states have call successors, (25) [2022-04-28 10:34:17,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 377 transitions. [2022-04-28 10:34:17,356 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 377 transitions. Word has length 47 [2022-04-28 10:34:17,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:17,356 INFO L495 AbstractCegarLoop]: Abstraction has 322 states and 377 transitions. [2022-04-28 10:34:17,356 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:17,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 322 states and 377 transitions. [2022-04-28 10:34:18,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 377 edges. 377 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:18,009 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-28 10:34:18,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:34:18,011 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:18,011 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:34:18,029 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-28 10:34:18,211 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable44 [2022-04-28 10:34:18,211 INFO L420 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:18,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:18,212 INFO L85 PathProgramCache]: Analyzing trace with hash -1271699905, now seen corresponding path program 71 times [2022-04-28 10:34:18,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:18,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1079853303] [2022-04-28 10:34:18,214 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:18,214 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:18,214 INFO L85 PathProgramCache]: Analyzing trace with hash -1271699905, now seen corresponding path program 72 times [2022-04-28 10:34:18,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:18,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1478469197] [2022-04-28 10:34:18,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:18,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:18,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:18,239 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:18,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:18,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {54371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54333#true} is VALID [2022-04-28 10:34:18,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-28 10:34:18,241 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-28 10:34:18,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:18,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:18,304 INFO L290 TraceCheckUtils]: 0: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54372#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {54372#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54373#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {54373#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54374#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:34:18,306 INFO L290 TraceCheckUtils]: 3: Hoare triple {54374#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54375#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} is VALID [2022-04-28 10:34:18,306 INFO L290 TraceCheckUtils]: 4: Hoare triple {54375#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} assume !(~b~0 < ~n); {54376#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {54376#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,309 INFO L290 TraceCheckUtils]: 12: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,309 INFO L290 TraceCheckUtils]: 13: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,310 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {54333#true} #111#return; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:18,310 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:34:18,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:18,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54378#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {54378#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54379#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {54379#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54380#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {54380#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54381#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {54381#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54382#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {54382#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {54383#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:34:18,442 INFO L290 TraceCheckUtils]: 6: Hoare triple {54383#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,443 INFO L290 TraceCheckUtils]: 10: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,445 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {54353#(<= main_~n~0 (* main_~a~0 3))} #113#return; {54334#false} is VALID [2022-04-28 10:34:18,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {54333#true} call ULTIMATE.init(); {54371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:34:18,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {54371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54333#true} is VALID [2022-04-28 10:34:18,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {54333#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L290 TraceCheckUtils]: 6: Hoare triple {54333#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L272 TraceCheckUtils]: 7: Hoare triple {54333#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:18,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54372#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {54372#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54373#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {54373#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54374#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:34:18,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {54374#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54375#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} is VALID [2022-04-28 10:34:18,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {54375#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} assume !(~b~0 < ~n); {54376#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:18,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {54376#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:18,452 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {54333#true} #111#return; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:18,452 INFO L290 TraceCheckUtils]: 23: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:18,452 INFO L272 TraceCheckUtils]: 24: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:18,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54378#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,453 INFO L290 TraceCheckUtils]: 26: Hoare triple {54378#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54379#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {54379#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54380#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,454 INFO L290 TraceCheckUtils]: 28: Hoare triple {54380#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54381#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {54381#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54382#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:18,455 INFO L290 TraceCheckUtils]: 30: Hoare triple {54382#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {54383#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:34:18,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {54383#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,455 INFO L290 TraceCheckUtils]: 32: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,456 INFO L290 TraceCheckUtils]: 33: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,456 INFO L290 TraceCheckUtils]: 34: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,456 INFO L290 TraceCheckUtils]: 35: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:18,458 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {54353#(<= main_~n~0 (* main_~a~0 3))} #113#return; {54334#false} is VALID [2022-04-28 10:34:18,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {54334#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54334#false} is VALID [2022-04-28 10:34:18,458 INFO L272 TraceCheckUtils]: 43: Hoare triple {54334#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54334#false} is VALID [2022-04-28 10:34:18,459 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-28 10:34:18,459 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-28 10:34:18,459 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-28 10:34:18,459 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 10:34:18,459 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:18,459 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1478469197] [2022-04-28 10:34:18,459 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1478469197] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:18,459 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [610172176] [2022-04-28 10:34:18,459 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:34:18,460 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:18,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:18,461 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:18,461 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-28 10:34:18,523 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:34:18,524 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:18,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:34:18,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:18,535 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:19,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {54333#true} call ULTIMATE.init(); {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {54333#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {54333#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54333#true} is VALID [2022-04-28 10:34:19,278 INFO L290 TraceCheckUtils]: 6: Hoare triple {54333#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54333#true} is VALID [2022-04-28 10:34:19,279 INFO L272 TraceCheckUtils]: 7: Hoare triple {54333#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:19,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54412#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,279 INFO L290 TraceCheckUtils]: 9: Hoare triple {54412#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54416#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {54416#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54420#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:34:19,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {54420#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54424#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 3)) |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {54424#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 3)) |correct_version_#in~a|))} assume !(~b~0 < ~n); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,283 INFO L290 TraceCheckUtils]: 19: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:19,284 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {54333#true} #111#return; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:19,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:19,285 INFO L272 TraceCheckUtils]: 24: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:19,285 INFO L290 TraceCheckUtils]: 25: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54467#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:34:19,286 INFO L290 TraceCheckUtils]: 26: Hoare triple {54467#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54471#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:34:19,286 INFO L290 TraceCheckUtils]: 27: Hoare triple {54471#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54475#(and (<= (* 2 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:34:19,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {54475#(and (<= (* 2 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54479#(and (<= |student_version_#in~a| (div student_version_~b~1 3)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:34:19,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {54479#(and (<= |student_version_#in~a| (div student_version_~b~1 3)) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,288 INFO L290 TraceCheckUtils]: 34: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,289 INFO L290 TraceCheckUtils]: 35: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,289 INFO L290 TraceCheckUtils]: 36: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,289 INFO L290 TraceCheckUtils]: 38: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,290 INFO L290 TraceCheckUtils]: 39: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,290 INFO L290 TraceCheckUtils]: 40: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:19,291 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {54353#(<= main_~n~0 (* main_~a~0 3))} #113#return; {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L290 TraceCheckUtils]: 42: Hoare triple {54334#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L272 TraceCheckUtils]: 43: Hoare triple {54334#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-28 10:34:19,291 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 10:34:19,291 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:20,333 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-28 10:34:20,334 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-28 10:34:20,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-28 10:34:20,334 INFO L272 TraceCheckUtils]: 43: Hoare triple {54334#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54334#false} is VALID [2022-04-28 10:34:20,334 INFO L290 TraceCheckUtils]: 42: Hoare triple {54334#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54334#false} is VALID [2022-04-28 10:34:20,335 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {54353#(<= main_~n~0 (* main_~a~0 3))} #113#return; {54334#false} is VALID [2022-04-28 10:34:20,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,336 INFO L290 TraceCheckUtils]: 37: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,336 INFO L290 TraceCheckUtils]: 36: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {54588#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54384#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:34:20,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {54592#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 student_version_~a)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54588#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} is VALID [2022-04-28 10:34:20,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {54596#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54592#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 student_version_~a)))} is VALID [2022-04-28 10:34:20,339 INFO L290 TraceCheckUtils]: 26: Hoare triple {54600#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ (* 3 student_version_~a) student_version_~b~1)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {54596#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:34:20,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54600#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (<= student_version_~n (+ (* 3 student_version_~a) student_version_~b~1)))} is VALID [2022-04-28 10:34:20,340 INFO L272 TraceCheckUtils]: 24: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:20,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {54353#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:20,341 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {54333#true} #111#return; {54353#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-28 10:34:20,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,343 INFO L290 TraceCheckUtils]: 15: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,343 INFO L290 TraceCheckUtils]: 14: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {54643#(or (< correct_version_~b~0 correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {54377#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:20,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {54647#(or (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54643#(or (< correct_version_~b~0 correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:20,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {54651#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54647#(or (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {54655#(or (< (+ correct_version_~b~0 (* 3 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {54651#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {54333#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54655#(or (< (+ correct_version_~b~0 (* 3 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:20,346 INFO L272 TraceCheckUtils]: 7: Hoare triple {54333#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 6: Hoare triple {54333#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {54333#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {54333#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54333#true} is VALID [2022-04-28 10:34:20,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {54333#true} call ULTIMATE.init(); {54333#true} is VALID [2022-04-28 10:34:20,347 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 10:34:20,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [610172176] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:20,347 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:20,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-28 10:34:20,347 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:20,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1079853303] [2022-04-28 10:34:20,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1079853303] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:20,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:20,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:34:20,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355160209] [2022-04-28 10:34:20,347 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:20,348 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:20,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:20,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:20,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:20,373 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:34:20,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:20,374 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:34:20,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 10:34:20,374 INFO L87 Difference]: Start difference. First operand 322 states and 377 transitions. Second operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:24,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:24,973 INFO L93 Difference]: Finished difference Result 378 states and 443 transitions. [2022-04-28 10:34:24,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 10:34:24,973 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:24,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:24,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:24,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2022-04-28 10:34:24,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:24,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2022-04-28 10:34:24,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2022-04-28 10:34:25,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:25,063 INFO L225 Difference]: With dead ends: 378 [2022-04-28 10:34:25,064 INFO L226 Difference]: Without dead ends: 362 [2022-04-28 10:34:25,065 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 76 SyntacticMatches, 6 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 244 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=199, Invalid=1781, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 10:34:25,066 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 127 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 992 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 1011 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 992 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:34:25,066 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [133 Valid, 123 Invalid, 1011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 992 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:34:25,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 362 states. [2022-04-28 10:34:28,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 362 to 357. [2022-04-28 10:34:28,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:28,040 INFO L82 GeneralOperation]: Start isEquivalent. First operand 362 states. Second operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:28,040 INFO L74 IsIncluded]: Start isIncluded. First operand 362 states. Second operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:28,040 INFO L87 Difference]: Start difference. First operand 362 states. Second operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:28,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:28,046 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-28 10:34:28,046 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-28 10:34:28,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:28,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:28,047 INFO L74 IsIncluded]: Start isIncluded. First operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) Second operand 362 states. [2022-04-28 10:34:28,047 INFO L87 Difference]: Start difference. First operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) Second operand 362 states. [2022-04-28 10:34:28,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:28,053 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-28 10:34:28,053 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-28 10:34:28,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:28,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:28,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:28,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:28,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 357 states, 303 states have (on average 1.174917491749175) internal successors, (356), 333 states have internal predecessors, (356), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:28,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 416 transitions. [2022-04-28 10:34:28,061 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 416 transitions. Word has length 47 [2022-04-28 10:34:28,061 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:28,062 INFO L495 AbstractCegarLoop]: Abstraction has 357 states and 416 transitions. [2022-04-28 10:34:28,062 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:28,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 357 states and 416 transitions. [2022-04-28 10:34:28,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 416 edges. 416 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:28,932 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 416 transitions. [2022-04-28 10:34:28,934 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:34:28,934 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:28,934 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:34:28,950 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:29,147 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable45,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:29,147 INFO L420 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:29,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:29,148 INFO L85 PathProgramCache]: Analyzing trace with hash 83484810, now seen corresponding path program 73 times [2022-04-28 10:34:29,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:29,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1134682317] [2022-04-28 10:34:29,150 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:29,150 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:29,150 INFO L85 PathProgramCache]: Analyzing trace with hash 83484810, now seen corresponding path program 74 times [2022-04-28 10:34:29,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:29,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2094788653] [2022-04-28 10:34:29,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:29,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:29,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:29,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:29,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:29,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {56943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56900#true} is VALID [2022-04-28 10:34:29,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-28 10:34:29,228 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-28 10:34:29,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:29,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:29,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,349 INFO L290 TraceCheckUtils]: 3: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,349 INFO L290 TraceCheckUtils]: 4: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:29,350 INFO L290 TraceCheckUtils]: 6: Hoare triple {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:29,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:29,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} is VALID [2022-04-28 10:34:29,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:34:29,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:34:29,353 INFO L290 TraceCheckUtils]: 11: Hoare triple {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:29,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:29,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:29,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:29,354 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {56900#true} #111#return; {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:34:29,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:34:29,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:29,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:29,512 INFO L290 TraceCheckUtils]: 6: Hoare triple {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:29,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:29,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:34:29,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:34:29,514 INFO L290 TraceCheckUtils]: 10: Hoare triple {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:34:29,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:29,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:29,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:29,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:29,516 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {56939#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:29,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {56900#true} call ULTIMATE.init(); {56943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:34:29,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {56943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {56900#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {56900#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56900#true} is VALID [2022-04-28 10:34:29,517 INFO L272 TraceCheckUtils]: 7: Hoare triple {56900#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:29,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,518 INFO L290 TraceCheckUtils]: 10: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:29,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:29,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:29,520 INFO L290 TraceCheckUtils]: 15: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:29,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} is VALID [2022-04-28 10:34:29,521 INFO L290 TraceCheckUtils]: 17: Hoare triple {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:34:29,521 INFO L290 TraceCheckUtils]: 18: Hoare triple {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:34:29,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:29,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:29,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:29,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:29,523 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {56900#true} #111#return; {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:34:29,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:34:29,524 INFO L272 TraceCheckUtils]: 25: Hoare triple {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:29,524 INFO L290 TraceCheckUtils]: 26: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,525 INFO L290 TraceCheckUtils]: 28: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:29,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:29,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:29,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:29,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:34:29,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:34:29,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:34:29,529 INFO L290 TraceCheckUtils]: 37: Hoare triple {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:29,529 INFO L290 TraceCheckUtils]: 38: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:29,529 INFO L290 TraceCheckUtils]: 39: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:29,530 INFO L290 TraceCheckUtils]: 40: Hoare triple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:29,530 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {56939#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:29,531 INFO L290 TraceCheckUtils]: 42: Hoare triple {56939#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {56940#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:34:29,531 INFO L272 TraceCheckUtils]: 43: Hoare triple {56940#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {56941#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:34:29,532 INFO L290 TraceCheckUtils]: 44: Hoare triple {56941#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {56942#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:34:29,532 INFO L290 TraceCheckUtils]: 45: Hoare triple {56942#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {56901#false} is VALID [2022-04-28 10:34:29,532 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-28 10:34:29,532 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:34:29,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:29,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2094788653] [2022-04-28 10:34:29,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2094788653] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:29,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [161171187] [2022-04-28 10:34:29,533 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:34:29,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:29,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:29,534 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:29,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-28 10:34:29,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:34:29,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:29,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:34:29,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:29,606 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:30,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {56900#true} call ULTIMATE.init(); {56900#true} is VALID [2022-04-28 10:34:30,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {56900#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56900#true} is VALID [2022-04-28 10:34:30,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-28 10:34:30,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-28 10:34:30,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-28 10:34:30,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {56900#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56900#true} is VALID [2022-04-28 10:34:30,226 INFO L290 TraceCheckUtils]: 6: Hoare triple {56900#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56900#true} is VALID [2022-04-28 10:34:30,226 INFO L272 TraceCheckUtils]: 7: Hoare triple {56900#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:30,226 INFO L290 TraceCheckUtils]: 8: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,226 INFO L290 TraceCheckUtils]: 9: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,227 INFO L290 TraceCheckUtils]: 10: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,227 INFO L290 TraceCheckUtils]: 11: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,227 INFO L290 TraceCheckUtils]: 12: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:30,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,229 INFO L290 TraceCheckUtils]: 16: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {57011#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:34:30,229 INFO L290 TraceCheckUtils]: 17: Hoare triple {57011#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {57015#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {57015#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {57019#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {57019#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:30,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:30,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:30,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:30,232 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {56900#true} #111#return; {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:34:30,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:34:30,232 INFO L272 TraceCheckUtils]: 25: Hoare triple {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:30,233 INFO L290 TraceCheckUtils]: 26: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:30,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {57068#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {57068#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {57072#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:34:30,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {57072#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {57076#(and (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {57076#(and (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:30,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:30,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:30,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:30,238 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {57092#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:34:30,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {57092#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {57096#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:34:30,239 INFO L272 TraceCheckUtils]: 43: Hoare triple {57096#(and (<= main_~n_stones2~0 6) (<= 6 main_~n_stones2~0) (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:34:30,240 INFO L290 TraceCheckUtils]: 44: Hoare triple {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {57104#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:34:30,240 INFO L290 TraceCheckUtils]: 45: Hoare triple {57104#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {56901#false} is VALID [2022-04-28 10:34:30,240 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-28 10:34:30,240 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:34:30,240 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:30,649 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-28 10:34:30,649 INFO L290 TraceCheckUtils]: 45: Hoare triple {57104#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {56901#false} is VALID [2022-04-28 10:34:30,649 INFO L290 TraceCheckUtils]: 44: Hoare triple {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {57104#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:34:30,650 INFO L272 TraceCheckUtils]: 43: Hoare triple {56940#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:34:30,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {56939#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {56940#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:34:30,651 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {56939#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:34:30,651 INFO L290 TraceCheckUtils]: 40: Hoare triple {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:30,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {56959#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-28 10:34:30,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:30,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56958#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-28 10:34:30,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56957#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-28 10:34:30,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56956#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 6) (<= 6 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:34:30,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {56955#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 6) (<= 6 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:34:30,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56954#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:34:30,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56953#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:34:30,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,656 INFO L290 TraceCheckUtils]: 28: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56952#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:34:30,657 INFO L272 TraceCheckUtils]: 25: Hoare triple {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:30,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56922#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-28 10:34:30,658 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {56900#true} #111#return; {56921#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-28 10:34:30,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:30,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {56951#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-28 10:34:30,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:30,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56950#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-28 10:34:30,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56949#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-28 10:34:30,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {56948#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 6) (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:34:30,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {56947#(and (<= 6 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 6))} is VALID [2022-04-28 10:34:30,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56946#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:34:30,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56945#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:34:30,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,663 INFO L290 TraceCheckUtils]: 10: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {56900#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56944#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:34:30,664 INFO L272 TraceCheckUtils]: 7: Hoare triple {56900#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L290 TraceCheckUtils]: 6: Hoare triple {56900#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {56900#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {56900#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L272 TraceCheckUtils]: 0: Hoare triple {56900#true} call ULTIMATE.init(); {56900#true} is VALID [2022-04-28 10:34:30,664 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:34:30,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [161171187] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:30,664 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:30,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 35 [2022-04-28 10:34:30,665 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:30,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1134682317] [2022-04-28 10:34:30,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1134682317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:30,665 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:30,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:34:30,665 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355178595] [2022-04-28 10:34:30,665 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:30,666 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:30,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:30,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:30,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:30,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:34:30,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:30,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:34:30,695 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1105, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 10:34:30,695 INFO L87 Difference]: Start difference. First operand 357 states and 416 transitions. Second operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:35,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:35,930 INFO L93 Difference]: Finished difference Result 375 states and 438 transitions. [2022-04-28 10:34:35,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:34:35,931 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:35,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:35,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:35,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-28 10:34:35,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:35,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-28 10:34:35,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 98 transitions. [2022-04-28 10:34:36,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:36,020 INFO L225 Difference]: With dead ends: 375 [2022-04-28 10:34:36,020 INFO L226 Difference]: Without dead ends: 359 [2022-04-28 10:34:36,022 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 80 SyntacticMatches, 9 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 544 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=218, Invalid=3088, Unknown=0, NotChecked=0, Total=3306 [2022-04-28 10:34:36,023 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1361 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 1393 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 1361 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:34:36,023 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 153 Invalid, 1393 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1361 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 10:34:36,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-28 10:34:39,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 354. [2022-04-28 10:34:39,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:39,023 INFO L82 GeneralOperation]: Start isEquivalent. First operand 359 states. Second operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:39,023 INFO L74 IsIncluded]: Start isIncluded. First operand 359 states. Second operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:39,023 INFO L87 Difference]: Start difference. First operand 359 states. Second operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:39,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:39,029 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-28 10:34:39,029 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-28 10:34:39,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:39,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:39,030 INFO L74 IsIncluded]: Start isIncluded. First operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) Second operand 359 states. [2022-04-28 10:34:39,031 INFO L87 Difference]: Start difference. First operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) Second operand 359 states. [2022-04-28 10:34:39,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:39,036 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-28 10:34:39,036 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-28 10:34:39,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:39,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:39,037 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:39,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:39,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 354 states, 300 states have (on average 1.18) internal successors, (354), 330 states have internal predecessors, (354), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (40), 18 states have call predecessors, (40), 18 states have call successors, (40) [2022-04-28 10:34:39,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 414 transitions. [2022-04-28 10:34:39,044 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 414 transitions. Word has length 47 [2022-04-28 10:34:39,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:39,044 INFO L495 AbstractCegarLoop]: Abstraction has 354 states and 414 transitions. [2022-04-28 10:34:39,044 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:39,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 354 states and 414 transitions. [2022-04-28 10:34:39,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 414 edges. 414 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:39,787 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 414 transitions. [2022-04-28 10:34:39,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:34:39,789 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:39,789 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:34:39,805 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-28 10:34:39,989 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-28 10:34:39,989 INFO L420 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:39,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:39,990 INFO L85 PathProgramCache]: Analyzing trace with hash -1251929861, now seen corresponding path program 75 times [2022-04-28 10:34:39,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:39,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2038393036] [2022-04-28 10:34:39,992 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:39,992 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:39,992 INFO L85 PathProgramCache]: Analyzing trace with hash -1251929861, now seen corresponding path program 76 times [2022-04-28 10:34:39,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:39,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [294458049] [2022-04-28 10:34:39,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:39,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:40,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:40,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:40,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:40,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {59512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59474#true} is VALID [2022-04-28 10:34:40,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-28 10:34:40,036 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-28 10:34:40,036 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:40,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:40,128 INFO L290 TraceCheckUtils]: 0: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59513#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {59513#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59514#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {59514#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59515#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,129 INFO L290 TraceCheckUtils]: 3: Hoare triple {59515#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59516#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,130 INFO L290 TraceCheckUtils]: 4: Hoare triple {59516#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59517#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 3 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {59517#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 3 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {59518#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,131 INFO L290 TraceCheckUtils]: 6: Hoare triple {59518#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,132 INFO L290 TraceCheckUtils]: 10: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,134 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {59474#true} #111#return; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:40,134 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:34:40,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:40,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59520#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {59520#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59521#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {59521#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59522#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,229 INFO L290 TraceCheckUtils]: 3: Hoare triple {59522#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59523#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,230 INFO L290 TraceCheckUtils]: 4: Hoare triple {59523#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {59524#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} is VALID [2022-04-28 10:34:40,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {59524#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,231 INFO L290 TraceCheckUtils]: 10: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,232 INFO L290 TraceCheckUtils]: 12: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,233 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {59475#false} is VALID [2022-04-28 10:34:40,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {59474#true} call ULTIMATE.init(); {59512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:34:40,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {59512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59474#true} is VALID [2022-04-28 10:34:40,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-28 10:34:40,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-28 10:34:40,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-28 10:34:40,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {59474#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59474#true} is VALID [2022-04-28 10:34:40,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {59474#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59474#true} is VALID [2022-04-28 10:34:40,234 INFO L272 TraceCheckUtils]: 7: Hoare triple {59474#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:40,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59513#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {59513#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59514#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,235 INFO L290 TraceCheckUtils]: 10: Hoare triple {59514#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59515#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {59515#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59516#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {59516#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59517#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 3 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {59517#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 3 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {59518#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:40,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {59518#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,239 INFO L290 TraceCheckUtils]: 22: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:40,240 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {59474#true} #111#return; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:40,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:40,241 INFO L272 TraceCheckUtils]: 26: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:40,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59520#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,241 INFO L290 TraceCheckUtils]: 28: Hoare triple {59520#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59521#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,242 INFO L290 TraceCheckUtils]: 29: Hoare triple {59521#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59522#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {59522#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59523#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:34:40,243 INFO L290 TraceCheckUtils]: 31: Hoare triple {59523#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {59524#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} is VALID [2022-04-28 10:34:40,243 INFO L290 TraceCheckUtils]: 32: Hoare triple {59524#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,243 INFO L290 TraceCheckUtils]: 33: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,244 INFO L290 TraceCheckUtils]: 34: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,245 INFO L290 TraceCheckUtils]: 38: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:40,246 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {59475#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L272 TraceCheckUtils]: 43: Hoare triple {59475#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-28 10:34:40,246 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 10:34:40,246 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:40,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [294458049] [2022-04-28 10:34:40,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [294458049] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:40,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1979166968] [2022-04-28 10:34:40,247 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:34:40,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:40,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:40,248 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:40,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2022-04-28 10:34:40,308 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:34:40,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:40,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:34:40,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:40,335 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:41,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {59474#true} call ULTIMATE.init(); {59474#true} is VALID [2022-04-28 10:34:41,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {59474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {59474#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L290 TraceCheckUtils]: 6: Hoare triple {59474#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L272 TraceCheckUtils]: 7: Hoare triple {59474#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:41,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59553#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:41,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {59553#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59557#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:41,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {59557#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59561#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:41,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {59561#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59565#(and (<= |correct_version_#in~a| (div correct_version_~b~0 3)) (<= correct_version_~n |correct_version_#in~n|))} is VALID [2022-04-28 10:34:41,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {59565#(and (<= |correct_version_#in~a| (div correct_version_~b~0 3)) (<= correct_version_~n |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:41,029 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {59474#true} #111#return; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:41,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:41,030 INFO L272 TraceCheckUtils]: 26: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:41,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59614#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:34:41,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {59614#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59618#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} is VALID [2022-04-28 10:34:41,031 INFO L290 TraceCheckUtils]: 29: Hoare triple {59618#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59622#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:34:41,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {59622#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* 2 student_version_~a)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59626#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 3)) |student_version_#in~a|))} is VALID [2022-04-28 10:34:41,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {59626#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 3)) |student_version_#in~a|))} assume !(~b~1 < ~n); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,033 INFO L290 TraceCheckUtils]: 32: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,033 INFO L290 TraceCheckUtils]: 33: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,033 INFO L290 TraceCheckUtils]: 34: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,033 INFO L290 TraceCheckUtils]: 35: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,034 INFO L290 TraceCheckUtils]: 38: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,035 INFO L290 TraceCheckUtils]: 39: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,035 INFO L290 TraceCheckUtils]: 40: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:41,036 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {59475#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L272 TraceCheckUtils]: 43: Hoare triple {59475#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-28 10:34:41,036 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 10:34:41,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:42,031 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-28 10:34:42,032 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-28 10:34:42,032 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-28 10:34:42,032 INFO L272 TraceCheckUtils]: 43: Hoare triple {59475#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59475#false} is VALID [2022-04-28 10:34:42,032 INFO L290 TraceCheckUtils]: 42: Hoare triple {59475#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59475#false} is VALID [2022-04-28 10:34:42,033 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {59475#false} is VALID [2022-04-28 10:34:42,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,033 INFO L290 TraceCheckUtils]: 38: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,034 INFO L290 TraceCheckUtils]: 34: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {59723#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} assume !(~b~1 < ~n); {59525#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-28 10:34:42,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {59727#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59723#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:34:42,036 INFO L290 TraceCheckUtils]: 29: Hoare triple {59731#(or (<= |student_version_#in~n| (* |student_version_#in~a| 3)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59727#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:34:42,037 INFO L290 TraceCheckUtils]: 28: Hoare triple {59735#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59731#(or (<= |student_version_#in~n| (* |student_version_#in~a| 3)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} is VALID [2022-04-28 10:34:42,037 INFO L290 TraceCheckUtils]: 27: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59735#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} is VALID [2022-04-28 10:34:42,037 INFO L272 TraceCheckUtils]: 26: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:42,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:42,038 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {59474#true} #111#return; {59496#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-28 10:34:42,039 INFO L290 TraceCheckUtils]: 23: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,039 INFO L290 TraceCheckUtils]: 22: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,047 INFO L290 TraceCheckUtils]: 12: Hoare triple {59784#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59519#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:34:42,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {59788#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59784#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:34:42,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {59792#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59788#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:34:42,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {59796#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 3 correct_version_~a))))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59792#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)))} is VALID [2022-04-28 10:34:42,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {59474#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59796#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 3 correct_version_~a))))} is VALID [2022-04-28 10:34:42,049 INFO L272 TraceCheckUtils]: 7: Hoare triple {59474#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59474#true} is VALID [2022-04-28 10:34:42,049 INFO L290 TraceCheckUtils]: 6: Hoare triple {59474#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59474#true} is VALID [2022-04-28 10:34:42,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {59474#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59474#true} is VALID [2022-04-28 10:34:42,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-28 10:34:42,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-28 10:34:42,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-28 10:34:42,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {59474#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59474#true} is VALID [2022-04-28 10:34:42,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {59474#true} call ULTIMATE.init(); {59474#true} is VALID [2022-04-28 10:34:42,050 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 10:34:42,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1979166968] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:42,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:42,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-28 10:34:42,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:42,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2038393036] [2022-04-28 10:34:42,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2038393036] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:42,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:42,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:34:42,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [500039631] [2022-04-28 10:34:42,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:42,051 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:42,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:42,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:42,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:42,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:34:42,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:42,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:34:42,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 10:34:42,077 INFO L87 Difference]: Start difference. First operand 354 states and 414 transitions. Second operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:46,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:46,562 INFO L93 Difference]: Finished difference Result 368 states and 427 transitions. [2022-04-28 10:34:46,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 10:34:46,562 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-28 10:34:46,563 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:46,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:46,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-28 10:34:46,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:46,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-28 10:34:46,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2022-04-28 10:34:46,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:46,649 INFO L225 Difference]: With dead ends: 368 [2022-04-28 10:34:46,649 INFO L226 Difference]: Without dead ends: 346 [2022-04-28 10:34:46,651 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 76 SyntacticMatches, 6 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 251 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=199, Invalid=1781, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 10:34:46,651 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 144 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 851 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 151 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 870 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 851 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:34:46,651 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [151 Valid, 112 Invalid, 870 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 851 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:34:46,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-28 10:34:49,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 344. [2022-04-28 10:34:49,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:49,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) [2022-04-28 10:34:49,614 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) [2022-04-28 10:34:49,614 INFO L87 Difference]: Start difference. First operand 346 states. Second operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) [2022-04-28 10:34:49,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:49,619 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-28 10:34:49,619 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-28 10:34:49,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:49,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:49,620 INFO L74 IsIncluded]: Start isIncluded. First operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) Second operand 346 states. [2022-04-28 10:34:49,621 INFO L87 Difference]: Start difference. First operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) Second operand 346 states. [2022-04-28 10:34:49,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:49,625 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-28 10:34:49,626 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-28 10:34:49,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:49,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:49,626 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:49,626 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:49,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 344 states, 290 states have (on average 1.1793103448275861) internal successors, (342), 320 states have internal predecessors, (342), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (36), 18 states have call predecessors, (36), 18 states have call successors, (36) [2022-04-28 10:34:49,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 398 transitions. [2022-04-28 10:34:49,633 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 398 transitions. Word has length 47 [2022-04-28 10:34:49,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:49,633 INFO L495 AbstractCegarLoop]: Abstraction has 344 states and 398 transitions. [2022-04-28 10:34:49,633 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 16 states have internal predecessors, (34), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:49,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 398 transitions. [2022-04-28 10:34:50,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 398 edges. 398 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:50,364 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 398 transitions. [2022-04-28 10:34:50,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 10:34:50,365 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:50,365 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:34:50,381 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:50,566 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable47 [2022-04-28 10:34:50,566 INFO L420 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:50,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:50,566 INFO L85 PathProgramCache]: Analyzing trace with hash -448253169, now seen corresponding path program 77 times [2022-04-28 10:34:50,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:50,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1122238754] [2022-04-28 10:34:50,568 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:50,568 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:50,569 INFO L85 PathProgramCache]: Analyzing trace with hash -448253169, now seen corresponding path program 78 times [2022-04-28 10:34:50,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:50,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1531483136] [2022-04-28 10:34:50,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:50,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:50,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:50,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:50,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:50,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {62002#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61963#true} is VALID [2022-04-28 10:34:50,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-28 10:34:50,604 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-28 10:34:50,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:50,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:50,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,702 INFO L290 TraceCheckUtils]: 3: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62004#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:34:50,703 INFO L290 TraceCheckUtils]: 4: Hoare triple {62004#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62005#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {62005#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62006#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,704 INFO L290 TraceCheckUtils]: 6: Hoare triple {62006#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62007#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:34:50,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {62007#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62008#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {62008#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62009#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:50,705 INFO L290 TraceCheckUtils]: 9: Hoare triple {62009#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,705 INFO L290 TraceCheckUtils]: 10: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,706 INFO L290 TraceCheckUtils]: 12: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,707 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {61963#true} #111#return; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:50,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:34:50,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:50,865 INFO L290 TraceCheckUtils]: 0: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,867 INFO L290 TraceCheckUtils]: 3: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62012#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:34:50,867 INFO L290 TraceCheckUtils]: 4: Hoare triple {62012#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62013#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {62013#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62014#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,868 INFO L290 TraceCheckUtils]: 6: Hoare triple {62014#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62015#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:34:50,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {62015#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62016#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:34:50,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {62016#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62017#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {62017#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62018#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} is VALID [2022-04-28 10:34:50,870 INFO L290 TraceCheckUtils]: 10: Hoare triple {62018#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} assume !(~l~1 < ~m); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,871 INFO L290 TraceCheckUtils]: 12: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,871 INFO L290 TraceCheckUtils]: 13: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,872 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {61984#(<= main_~m~0 (* main_~a~0 6))} #113#return; {61964#false} is VALID [2022-04-28 10:34:50,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {61963#true} call ULTIMATE.init(); {62002#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:34:50,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {62002#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {61963#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L290 TraceCheckUtils]: 6: Hoare triple {61963#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L272 TraceCheckUtils]: 7: Hoare triple {61963#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:50,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,874 INFO L290 TraceCheckUtils]: 10: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:34:50,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {62003#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62004#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:34:50,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {62004#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62005#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {62005#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62006#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {62006#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62007#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:34:50,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {62007#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62008#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:34:50,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {62008#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62009#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:50,885 INFO L290 TraceCheckUtils]: 17: Hoare triple {62009#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,886 INFO L290 TraceCheckUtils]: 21: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,886 INFO L290 TraceCheckUtils]: 22: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:50,887 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {61963#true} #111#return; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:50,887 INFO L290 TraceCheckUtils]: 24: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:50,887 INFO L272 TraceCheckUtils]: 25: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:50,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {62011#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62012#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:34:50,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {62012#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62013#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,890 INFO L290 TraceCheckUtils]: 31: Hoare triple {62013#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62014#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,890 INFO L290 TraceCheckUtils]: 32: Hoare triple {62014#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62015#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:34:50,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {62015#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62016#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:34:50,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {62016#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62017#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:34:50,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {62017#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62018#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} is VALID [2022-04-28 10:34:50,892 INFO L290 TraceCheckUtils]: 36: Hoare triple {62018#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} assume !(~l~1 < ~m); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,892 INFO L290 TraceCheckUtils]: 37: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,893 INFO L290 TraceCheckUtils]: 41: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:50,894 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {61984#(<= main_~m~0 (* main_~a~0 6))} #113#return; {61964#false} is VALID [2022-04-28 10:34:50,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {61964#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {61964#false} is VALID [2022-04-28 10:34:50,894 INFO L272 TraceCheckUtils]: 44: Hoare triple {61964#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {61964#false} is VALID [2022-04-28 10:34:50,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-28 10:34:50,894 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-28 10:34:50,894 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-28 10:34:50,895 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:34:50,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:50,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1531483136] [2022-04-28 10:34:50,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1531483136] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:50,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278683667] [2022-04-28 10:34:50,895 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:34:50,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:50,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:50,896 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:50,897 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2022-04-28 10:34:50,965 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:34:50,966 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:50,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 10:34:50,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:50,980 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:51,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {61963#true} call ULTIMATE.init(); {61963#true} is VALID [2022-04-28 10:34:51,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {61963#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61963#true} is VALID [2022-04-28 10:34:51,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {61963#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {61963#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L272 TraceCheckUtils]: 7: Hoare triple {61963#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:51,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,937 INFO L290 TraceCheckUtils]: 10: Hoare triple {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {62047#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62057#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,938 INFO L290 TraceCheckUtils]: 12: Hoare triple {62057#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62061#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {62061#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62065#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {62065#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62069#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {62069#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62073#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,940 INFO L290 TraceCheckUtils]: 16: Hoare triple {62073#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62077#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 6)) |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {62077#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 6)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,941 INFO L290 TraceCheckUtils]: 19: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,942 INFO L290 TraceCheckUtils]: 21: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:51,943 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {61963#true} #111#return; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:51,943 INFO L290 TraceCheckUtils]: 24: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:51,943 INFO L272 TraceCheckUtils]: 25: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:51,943 INFO L290 TraceCheckUtils]: 26: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:34:51,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:34:51,944 INFO L290 TraceCheckUtils]: 28: Hoare triple {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:34:51,945 INFO L290 TraceCheckUtils]: 29: Hoare triple {62108#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62118#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:34:51,945 INFO L290 TraceCheckUtils]: 30: Hoare triple {62118#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62122#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:34:51,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {62122#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62126#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:34:51,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {62126#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62130#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:34:51,947 INFO L290 TraceCheckUtils]: 33: Hoare triple {62130#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62134#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:34:51,947 INFO L290 TraceCheckUtils]: 34: Hoare triple {62134#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62138#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 6)))} is VALID [2022-04-28 10:34:51,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {62138#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 6)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,949 INFO L290 TraceCheckUtils]: 39: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,949 INFO L290 TraceCheckUtils]: 40: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,949 INFO L290 TraceCheckUtils]: 41: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:51,950 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {61984#(<= main_~m~0 (* main_~a~0 6))} #113#return; {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L290 TraceCheckUtils]: 43: Hoare triple {61964#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L272 TraceCheckUtils]: 44: Hoare triple {61964#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-28 10:34:51,950 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:34:51,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:53,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-28 10:34:53,503 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-28 10:34:53,503 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-28 10:34:53,503 INFO L272 TraceCheckUtils]: 44: Hoare triple {61964#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {61964#false} is VALID [2022-04-28 10:34:53,503 INFO L290 TraceCheckUtils]: 43: Hoare triple {61964#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {61964#false} is VALID [2022-04-28 10:34:53,504 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {61984#(<= main_~m~0 (* main_~a~0 6))} #113#return; {61964#false} is VALID [2022-04-28 10:34:53,504 INFO L290 TraceCheckUtils]: 41: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,505 INFO L290 TraceCheckUtils]: 40: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,505 INFO L290 TraceCheckUtils]: 39: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,506 INFO L290 TraceCheckUtils]: 35: Hoare triple {62217#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62019#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:34:53,507 INFO L290 TraceCheckUtils]: 34: Hoare triple {62221#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62217#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:34:53,507 INFO L290 TraceCheckUtils]: 33: Hoare triple {62225#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62221#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:34:53,508 INFO L290 TraceCheckUtils]: 32: Hoare triple {62229#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62225#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:34:53,508 INFO L290 TraceCheckUtils]: 31: Hoare triple {62233#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62229#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:34:53,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {62237#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62233#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} is VALID [2022-04-28 10:34:53,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {62237#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:34:53,510 INFO L290 TraceCheckUtils]: 28: Hoare triple {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} assume !(~b~1 < ~n); {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:34:53,510 INFO L290 TraceCheckUtils]: 27: Hoare triple {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:34:53,510 INFO L290 TraceCheckUtils]: 26: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {62241#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:34:53,510 INFO L272 TraceCheckUtils]: 25: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:53,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {61984#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:53,511 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {61963#true} #111#return; {61984#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-28 10:34:53,512 INFO L290 TraceCheckUtils]: 22: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,512 INFO L290 TraceCheckUtils]: 21: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,513 INFO L290 TraceCheckUtils]: 18: Hoare triple {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,513 INFO L290 TraceCheckUtils]: 17: Hoare triple {62278#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {62010#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-28 10:34:53,514 INFO L290 TraceCheckUtils]: 16: Hoare triple {62282#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62278#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-28 10:34:53,514 INFO L290 TraceCheckUtils]: 15: Hoare triple {62286#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62282#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:34:53,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {62290#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62286#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:53,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {62294#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62290#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:53,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {62298#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62294#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)))} is VALID [2022-04-28 10:34:53,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {62298#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:34:53,517 INFO L290 TraceCheckUtils]: 10: Hoare triple {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} assume !(~b~0 < ~n); {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:34:53,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:34:53,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {61963#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {62302#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:34:53,517 INFO L272 TraceCheckUtils]: 7: Hoare triple {61963#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L290 TraceCheckUtils]: 6: Hoare triple {61963#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {61963#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {61963#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {61963#true} call ULTIMATE.init(); {61963#true} is VALID [2022-04-28 10:34:53,518 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 7 proven. 42 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:34:53,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278683667] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:53,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:53,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-28 10:34:53,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:53,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1122238754] [2022-04-28 10:34:53,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1122238754] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:53,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:53,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:34:53,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119287072] [2022-04-28 10:34:53,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:53,519 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:34:53,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:53,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:34:53,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:53,548 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:34:53,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:53,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:34:53,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-28 10:34:53,549 INFO L87 Difference]: Start difference. First operand 344 states and 398 transitions. Second operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:00,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:00,406 INFO L93 Difference]: Finished difference Result 410 states and 477 transitions. [2022-04-28 10:35:00,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 10:35:00,406 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:35:00,406 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:00,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:00,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 146 transitions. [2022-04-28 10:35:00,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:00,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 146 transitions. [2022-04-28 10:35:00,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 146 transitions. [2022-04-28 10:35:00,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:00,536 INFO L225 Difference]: With dead ends: 410 [2022-04-28 10:35:00,537 INFO L226 Difference]: Without dead ends: 396 [2022-04-28 10:35:00,539 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 562 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=273, Invalid=4017, Unknown=0, NotChecked=0, Total=4290 [2022-04-28 10:35:00,539 INFO L413 NwaCegarLoop]: 86 mSDtfsCounter, 169 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 2063 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 179 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 2085 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 2063 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:35:00,539 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [179 Valid, 173 Invalid, 2085 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 2063 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 10:35:00,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-28 10:35:04,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 387. [2022-04-28 10:35:04,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:04,081 INFO L82 GeneralOperation]: Start isEquivalent. First operand 396 states. Second operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) [2022-04-28 10:35:04,081 INFO L74 IsIncluded]: Start isIncluded. First operand 396 states. Second operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) [2022-04-28 10:35:04,081 INFO L87 Difference]: Start difference. First operand 396 states. Second operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) [2022-04-28 10:35:04,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:04,088 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-28 10:35:04,088 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-28 10:35:04,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:04,089 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:04,089 INFO L74 IsIncluded]: Start isIncluded. First operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) Second operand 396 states. [2022-04-28 10:35:04,090 INFO L87 Difference]: Start difference. First operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) Second operand 396 states. [2022-04-28 10:35:04,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:04,096 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-28 10:35:04,096 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-28 10:35:04,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:04,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:04,097 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:04,097 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:04,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 387 states, 327 states have (on average 1.1773700305810397) internal successors, (385), 361 states have internal predecessors, (385), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (42), 20 states have call predecessors, (42), 20 states have call successors, (42) [2022-04-28 10:35:04,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 449 transitions. [2022-04-28 10:35:04,107 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 449 transitions. Word has length 48 [2022-04-28 10:35:04,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:04,107 INFO L495 AbstractCegarLoop]: Abstraction has 387 states and 449 transitions. [2022-04-28 10:35:04,107 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:04,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 449 transitions. [2022-04-28 10:35:04,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 449 edges. 449 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:04,980 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 449 transitions. [2022-04-28 10:35:04,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 10:35:04,982 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:04,982 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:35:04,998 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:05,182 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-28 10:35:05,182 INFO L420 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:05,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:05,183 INFO L85 PathProgramCache]: Analyzing trace with hash 827987660, now seen corresponding path program 79 times [2022-04-28 10:35:05,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:05,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1123078630] [2022-04-28 10:35:05,185 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:05,185 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:05,185 INFO L85 PathProgramCache]: Analyzing trace with hash 827987660, now seen corresponding path program 80 times [2022-04-28 10:35:05,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:05,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [353018830] [2022-04-28 10:35:05,185 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:05,185 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:05,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:05,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:05,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:05,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {64794#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64755#true} is VALID [2022-04-28 10:35:05,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-28 10:35:05,235 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-28 10:35:05,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:05,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:05,357 INFO L290 TraceCheckUtils]: 0: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,358 INFO L290 TraceCheckUtils]: 3: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64796#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,359 INFO L290 TraceCheckUtils]: 4: Hoare triple {64796#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64797#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {64797#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64798#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,360 INFO L290 TraceCheckUtils]: 6: Hoare triple {64798#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64799#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {64799#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64800#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:35:05,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {64800#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64801#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {64801#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64802#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:35:05,361 INFO L290 TraceCheckUtils]: 10: Hoare triple {64802#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,363 INFO L290 TraceCheckUtils]: 14: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,363 INFO L290 TraceCheckUtils]: 15: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,364 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {64755#true} #111#return; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:05,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:35:05,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:05,519 INFO L290 TraceCheckUtils]: 0: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,521 INFO L290 TraceCheckUtils]: 3: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64805#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:35:05,521 INFO L290 TraceCheckUtils]: 4: Hoare triple {64805#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64806#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:35:05,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {64806#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64807#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:35:05,522 INFO L290 TraceCheckUtils]: 6: Hoare triple {64807#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64808#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:35:05,523 INFO L290 TraceCheckUtils]: 7: Hoare triple {64808#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64809#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:35:05,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {64809#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64810#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} is VALID [2022-04-28 10:35:05,524 INFO L290 TraceCheckUtils]: 9: Hoare triple {64810#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} assume !(~l~1 < ~m); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,524 INFO L290 TraceCheckUtils]: 11: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,526 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {64756#false} is VALID [2022-04-28 10:35:05,526 INFO L272 TraceCheckUtils]: 0: Hoare triple {64755#true} call ULTIMATE.init(); {64794#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:35:05,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {64794#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64755#true} is VALID [2022-04-28 10:35:05,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-28 10:35:05,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-28 10:35:05,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-28 10:35:05,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {64755#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64755#true} is VALID [2022-04-28 10:35:05,527 INFO L290 TraceCheckUtils]: 6: Hoare triple {64755#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64755#true} is VALID [2022-04-28 10:35:05,527 INFO L272 TraceCheckUtils]: 7: Hoare triple {64755#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:05,527 INFO L290 TraceCheckUtils]: 8: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,528 INFO L290 TraceCheckUtils]: 10: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,528 INFO L290 TraceCheckUtils]: 11: Hoare triple {64795#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64796#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,529 INFO L290 TraceCheckUtils]: 12: Hoare triple {64796#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64797#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {64797#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64798#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {64798#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64799#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {64799#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64800#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:35:05,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {64800#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64801#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:05,531 INFO L290 TraceCheckUtils]: 17: Hoare triple {64801#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64802#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:35:05,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {64802#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,532 INFO L290 TraceCheckUtils]: 21: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,533 INFO L290 TraceCheckUtils]: 23: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:05,534 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {64755#true} #111#return; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:05,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:05,534 INFO L272 TraceCheckUtils]: 26: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:05,534 INFO L290 TraceCheckUtils]: 27: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,535 INFO L290 TraceCheckUtils]: 28: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,535 INFO L290 TraceCheckUtils]: 29: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:35:05,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {64804#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64805#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:35:05,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {64805#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64806#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:35:05,537 INFO L290 TraceCheckUtils]: 32: Hoare triple {64806#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64807#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:35:05,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {64807#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64808#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:35:05,538 INFO L290 TraceCheckUtils]: 34: Hoare triple {64808#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64809#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:35:05,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {64809#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64810#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} is VALID [2022-04-28 10:35:05,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {64810#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} assume !(~l~1 < ~m); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,539 INFO L290 TraceCheckUtils]: 38: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,539 INFO L290 TraceCheckUtils]: 39: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:05,541 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {64756#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L272 TraceCheckUtils]: 44: Hoare triple {64756#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-28 10:35:05,541 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:35:05,541 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:05,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [353018830] [2022-04-28 10:35:05,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [353018830] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:05,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [807005623] [2022-04-28 10:35:05,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:35:05,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:05,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:05,543 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:05,544 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2022-04-28 10:35:05,620 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:35:05,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:05,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 10:35:05,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:05,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:06,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {64755#true} call ULTIMATE.init(); {64755#true} is VALID [2022-04-28 10:35:06,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {64755#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64755#true} is VALID [2022-04-28 10:35:06,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-28 10:35:06,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-28 10:35:06,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-28 10:35:06,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {64755#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64755#true} is VALID [2022-04-28 10:35:06,642 INFO L290 TraceCheckUtils]: 6: Hoare triple {64755#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64755#true} is VALID [2022-04-28 10:35:06,642 INFO L272 TraceCheckUtils]: 7: Hoare triple {64755#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:06,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,643 INFO L290 TraceCheckUtils]: 10: Hoare triple {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {64839#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64849#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {64849#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64853#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {64853#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64857#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {64857#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64861#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:35:06,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {64861#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64865#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:35:06,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {64865#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64869#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 6)))} is VALID [2022-04-28 10:35:06,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {64869#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 6)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,648 INFO L290 TraceCheckUtils]: 21: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,648 INFO L290 TraceCheckUtils]: 22: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:06,649 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {64755#true} #111#return; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:06,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:06,650 INFO L272 TraceCheckUtils]: 26: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:06,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,651 INFO L290 TraceCheckUtils]: 29: Hoare triple {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,651 INFO L290 TraceCheckUtils]: 30: Hoare triple {64903#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64913#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,652 INFO L290 TraceCheckUtils]: 31: Hoare triple {64913#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64917#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:35:06,652 INFO L290 TraceCheckUtils]: 32: Hoare triple {64917#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64921#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {64921#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64925#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:35:06,653 INFO L290 TraceCheckUtils]: 34: Hoare triple {64925#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64929#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:35:06,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {64929#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {64933#(and (<= (div (- student_version_~l~1) (- 6)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:35:06,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {64933#(and (<= (div (- student_version_~l~1) (- 6)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,655 INFO L290 TraceCheckUtils]: 38: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,655 INFO L290 TraceCheckUtils]: 40: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:06,656 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {64756#false} is VALID [2022-04-28 10:35:06,656 INFO L290 TraceCheckUtils]: 43: Hoare triple {64756#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {64756#false} is VALID [2022-04-28 10:35:06,656 INFO L272 TraceCheckUtils]: 44: Hoare triple {64756#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {64756#false} is VALID [2022-04-28 10:35:06,656 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-28 10:35:06,656 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-28 10:35:06,656 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-28 10:35:06,657 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:35:06,657 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:08,187 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-28 10:35:08,188 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-28 10:35:08,188 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-28 10:35:08,188 INFO L272 TraceCheckUtils]: 44: Hoare triple {64756#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {64756#false} is VALID [2022-04-28 10:35:08,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {64756#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {64756#false} is VALID [2022-04-28 10:35:08,189 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {64756#false} is VALID [2022-04-28 10:35:08,189 INFO L290 TraceCheckUtils]: 41: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,189 INFO L290 TraceCheckUtils]: 39: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,190 INFO L290 TraceCheckUtils]: 38: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,190 INFO L290 TraceCheckUtils]: 37: Hoare triple {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,190 INFO L290 TraceCheckUtils]: 36: Hoare triple {65006#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {64811#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-28 10:35:08,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {65010#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65006#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:35:08,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {65014#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65010#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:35:08,192 INFO L290 TraceCheckUtils]: 33: Hoare triple {65018#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65014#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:35:08,192 INFO L290 TraceCheckUtils]: 32: Hoare triple {65022#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65018#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:35:08,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {65026#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65022#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:35:08,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {65026#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:35:08,194 INFO L290 TraceCheckUtils]: 29: Hoare triple {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} assume !(~b~1 < ~n); {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:35:08,194 INFO L290 TraceCheckUtils]: 28: Hoare triple {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:35:08,194 INFO L290 TraceCheckUtils]: 27: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {65030#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:35:08,194 INFO L272 TraceCheckUtils]: 26: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:08,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:08,195 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {64755#true} #111#return; {64777#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-28 10:35:08,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {65070#(or (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {64803#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:35:08,198 INFO L290 TraceCheckUtils]: 16: Hoare triple {65074#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65070#(or (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:35:08,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {65078#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65074#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {65082#(or (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65078#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {65086#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65082#(or (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} is VALID [2022-04-28 10:35:08,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {65090#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65086#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {65090#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {64755#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {65094#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:35:08,202 INFO L272 TraceCheckUtils]: 7: Hoare triple {64755#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {64755#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {64755#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {64755#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {64755#true} call ULTIMATE.init(); {64755#true} is VALID [2022-04-28 10:35:08,202 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 7 proven. 42 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:35:08,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [807005623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:08,203 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:08,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-28 10:35:08,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:08,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1123078630] [2022-04-28 10:35:08,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1123078630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:08,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:08,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:35:08,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1662077732] [2022-04-28 10:35:08,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:08,204 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:35:08,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:08,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:08,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:08,233 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:35:08,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:08,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:35:08,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-28 10:35:08,234 INFO L87 Difference]: Start difference. First operand 387 states and 449 transitions. Second operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:15,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:15,099 INFO L93 Difference]: Finished difference Result 402 states and 464 transitions. [2022-04-28 10:35:15,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 10:35:15,099 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:35:15,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:15,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:15,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 145 transitions. [2022-04-28 10:35:15,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:15,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 145 transitions. [2022-04-28 10:35:15,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 145 transitions. [2022-04-28 10:35:15,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:15,219 INFO L225 Difference]: With dead ends: 402 [2022-04-28 10:35:15,219 INFO L226 Difference]: Without dead ends: 390 [2022-04-28 10:35:15,221 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 572 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=273, Invalid=4017, Unknown=0, NotChecked=0, Total=4290 [2022-04-28 10:35:15,221 INFO L413 NwaCegarLoop]: 88 mSDtfsCounter, 177 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 2096 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 190 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 2117 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 2096 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:35:15,221 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [190 Valid, 175 Invalid, 2117 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 2096 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 10:35:15,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-28 10:35:18,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 388. [2022-04-28 10:35:18,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:18,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 390 states. Second operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:35:18,757 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:35:18,757 INFO L87 Difference]: Start difference. First operand 390 states. Second operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:35:18,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:18,763 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-28 10:35:18,763 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-28 10:35:18,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:18,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:18,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) Second operand 390 states. [2022-04-28 10:35:18,765 INFO L87 Difference]: Start difference. First operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) Second operand 390 states. [2022-04-28 10:35:18,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:18,771 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-28 10:35:18,771 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-28 10:35:18,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:18,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:18,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:18,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:18,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 388 states, 328 states have (on average 1.1768292682926829) internal successors, (386), 362 states have internal predecessors, (386), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:35:18,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 388 states to 388 states and 447 transitions. [2022-04-28 10:35:18,785 INFO L78 Accepts]: Start accepts. Automaton has 388 states and 447 transitions. Word has length 48 [2022-04-28 10:35:18,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:18,785 INFO L495 AbstractCegarLoop]: Abstraction has 388 states and 447 transitions. [2022-04-28 10:35:18,785 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:18,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 388 states and 447 transitions. [2022-04-28 10:35:19,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 447 edges. 447 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:19,640 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 447 transitions. [2022-04-28 10:35:19,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 10:35:19,642 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:19,642 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:35:19,659 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-28 10:35:19,842 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable49 [2022-04-28 10:35:19,842 INFO L420 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:19,843 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:19,843 INFO L85 PathProgramCache]: Analyzing trace with hash 179082418, now seen corresponding path program 81 times [2022-04-28 10:35:19,843 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:19,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [998875013] [2022-04-28 10:35:19,845 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:19,845 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:19,845 INFO L85 PathProgramCache]: Analyzing trace with hash 179082418, now seen corresponding path program 82 times [2022-04-28 10:35:19,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:19,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [307203227] [2022-04-28 10:35:19,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:19,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:19,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:19,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:19,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:19,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {67559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {67521#true} is VALID [2022-04-28 10:35:19,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:19,870 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-28 10:35:19,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:19,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:19,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {67560#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {67560#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67561#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {67561#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67562#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {67562#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67563#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,925 INFO L290 TraceCheckUtils]: 4: Hoare triple {67563#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {67564#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {67522#false} is VALID [2022-04-28 10:35:19,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-28 10:35:19,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-28 10:35:19,928 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-28 10:35:19,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 10:35:19,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 3: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 4: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 6: Hoare triple {67521#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-28 10:35:19,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 10: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:19,941 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-28 10:35:19,941 INFO L272 TraceCheckUtils]: 0: Hoare triple {67521#true} call ULTIMATE.init(); {67559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:35:19,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {67559#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {67521#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L290 TraceCheckUtils]: 6: Hoare triple {67521#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L272 TraceCheckUtils]: 7: Hoare triple {67521#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {67521#true} is VALID [2022-04-28 10:35:19,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {67560#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {67560#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67561#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,943 INFO L290 TraceCheckUtils]: 10: Hoare triple {67561#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67562#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {67562#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67563#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {67563#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,944 INFO L290 TraceCheckUtils]: 13: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,944 INFO L290 TraceCheckUtils]: 14: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:19,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {67564#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {67522#false} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-28 10:35:19,947 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {67522#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {67522#false} is VALID [2022-04-28 10:35:19,947 INFO L272 TraceCheckUtils]: 25: Hoare triple {67522#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 29: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 30: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 31: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-28 10:35:19,947 INFO L290 TraceCheckUtils]: 32: Hoare triple {67521#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 34: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 39: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 40: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 41: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:19,948 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 43: Hoare triple {67522#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {67522#false} is VALID [2022-04-28 10:35:19,948 INFO L272 TraceCheckUtils]: 44: Hoare triple {67522#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {67522#false} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-28 10:35:19,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-28 10:35:19,949 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:19,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:19,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [307203227] [2022-04-28 10:35:19,949 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [307203227] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:19,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1915312468] [2022-04-28 10:35:19,949 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:35:19,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:19,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:19,950 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:19,951 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2022-04-28 10:35:20,014 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:35:20,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:20,015 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 10:35:20,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:20,024 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:20,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {67521#true} call ULTIMATE.init(); {67521#true} is VALID [2022-04-28 10:35:20,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {67521#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {67521#true} is VALID [2022-04-28 10:35:20,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:20,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-28 10:35:20,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-28 10:35:20,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {67521#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {67521#true} is VALID [2022-04-28 10:35:20,189 INFO L290 TraceCheckUtils]: 6: Hoare triple {67521#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {67521#true} is VALID [2022-04-28 10:35:20,189 INFO L272 TraceCheckUtils]: 7: Hoare triple {67521#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {67521#true} is VALID [2022-04-28 10:35:20,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {67560#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {67560#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67561#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {67561#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67562#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {67562#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67563#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {67563#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,191 INFO L290 TraceCheckUtils]: 15: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {67564#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {67620#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-28 10:35:20,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {67620#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67624#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-28 10:35:20,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {67624#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67628#(and (<= correct_version_~x~0 2) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:35:20,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {67628#(and (<= correct_version_~x~0 2) (<= 4 correct_version_~i~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67632#(and (<= correct_version_~x~0 3) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:35:20,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {67632#(and (<= correct_version_~x~0 3) (<= 4 correct_version_~i~0))} assume !(~x~0 < ~i~0); {67522#false} is VALID [2022-04-28 10:35:20,193 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 24: Hoare triple {67522#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L272 TraceCheckUtils]: 25: Hoare triple {67522#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 26: Hoare triple {67522#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 27: Hoare triple {67522#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 28: Hoare triple {67522#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 29: Hoare triple {67522#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {67522#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {67522#false} assume !(~b~1 < ~n); {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {67522#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 33: Hoare triple {67522#false} assume !(~l~1 < ~m); {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {67522#false} ~x~1 := 0;~y~1 := 0; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {67522#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67522#false} is VALID [2022-04-28 10:35:20,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {67522#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 37: Hoare triple {67522#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 38: Hoare triple {67522#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 39: Hoare triple {67522#false} assume !(~x~1 < ~i~1); {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 40: Hoare triple {67522#false} #res := ~y~1; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67522#false} {67522#false} #113#return; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {67522#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L272 TraceCheckUtils]: 44: Hoare triple {67522#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-28 10:35:20,195 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:20,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:20,337 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-28 10:35:20,337 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-28 10:35:20,337 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-28 10:35:20,338 INFO L272 TraceCheckUtils]: 44: Hoare triple {67522#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {67522#false} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {67522#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {67522#false} is VALID [2022-04-28 10:35:20,338 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 38: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 37: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 36: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {67521#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 34: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 32: Hoare triple {67521#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 31: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-28 10:35:20,338 INFO L290 TraceCheckUtils]: 30: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 28: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {67521#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 26: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L272 TraceCheckUtils]: 25: Hoare triple {67522#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {67521#true} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {67522#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {67522#false} is VALID [2022-04-28 10:35:20,339 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-28 10:35:20,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {67522#false} is VALID [2022-04-28 10:35:20,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67568#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:35:20,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67567#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:35:20,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {67566#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:35:20,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {67564#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {67565#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:35:20,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {67564#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {67563#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67564#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {67562#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67563#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,343 INFO L290 TraceCheckUtils]: 10: Hoare triple {67561#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67562#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {67560#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {67561#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {67521#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {67560#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:35:20,344 INFO L272 TraceCheckUtils]: 7: Hoare triple {67521#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {67521#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {67521#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {67521#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L272 TraceCheckUtils]: 0: Hoare triple {67521#true} call ULTIMATE.init(); {67521#true} is VALID [2022-04-28 10:35:20,344 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:20,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1915312468] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:20,345 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:20,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-28 10:35:20,345 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:20,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [998875013] [2022-04-28 10:35:20,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [998875013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:20,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:20,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:35:20,345 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2022797648] [2022-04-28 10:35:20,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:20,345 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:35:20,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:20,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:20,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:20,368 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:35:20,368 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:20,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:35:20,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:35:20,369 INFO L87 Difference]: Start difference. First operand 388 states and 447 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:24,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:24,448 INFO L93 Difference]: Finished difference Result 593 states and 672 transitions. [2022-04-28 10:35:24,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:35:24,448 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-28 10:35:24,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:24,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:24,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-28 10:35:24,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:24,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-28 10:35:24,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 97 transitions. [2022-04-28 10:35:24,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:24,529 INFO L225 Difference]: With dead ends: 593 [2022-04-28 10:35:24,529 INFO L226 Difference]: Without dead ends: 383 [2022-04-28 10:35:24,532 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=291, Invalid=639, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:35:24,532 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 66 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:35:24,532 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [68 Valid, 66 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 229 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:35:24,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2022-04-28 10:35:28,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 375. [2022-04-28 10:35:28,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:28,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 383 states. Second operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:28,070 INFO L74 IsIncluded]: Start isIncluded. First operand 383 states. Second operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:28,070 INFO L87 Difference]: Start difference. First operand 383 states. Second operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:28,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:28,076 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-28 10:35:28,076 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-28 10:35:28,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:28,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:28,077 INFO L74 IsIncluded]: Start isIncluded. First operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) Second operand 383 states. [2022-04-28 10:35:28,077 INFO L87 Difference]: Start difference. First operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) Second operand 383 states. [2022-04-28 10:35:28,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:28,084 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-28 10:35:28,084 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-28 10:35:28,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:28,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:28,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:28,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:28,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 375 states, 321 states have (on average 1.1682242990654206) internal successors, (375), 351 states have internal predecessors, (375), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:28,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 375 states to 375 states and 428 transitions. [2022-04-28 10:35:28,092 INFO L78 Accepts]: Start accepts. Automaton has 375 states and 428 transitions. Word has length 48 [2022-04-28 10:35:28,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:28,092 INFO L495 AbstractCegarLoop]: Abstraction has 375 states and 428 transitions. [2022-04-28 10:35:28,092 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:28,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 375 states and 428 transitions. [2022-04-28 10:35:28,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 428 edges. 428 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:28,941 INFO L276 IsEmpty]: Start isEmpty. Operand 375 states and 428 transitions. [2022-04-28 10:35:28,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 10:35:28,943 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:28,943 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:35:28,959 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:29,147 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable50,42 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:29,147 INFO L420 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:29,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:29,148 INFO L85 PathProgramCache]: Analyzing trace with hash 2046793773, now seen corresponding path program 83 times [2022-04-28 10:35:29,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:29,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1069377132] [2022-04-28 10:35:29,151 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:29,151 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:29,151 INFO L85 PathProgramCache]: Analyzing trace with hash 2046793773, now seen corresponding path program 84 times [2022-04-28 10:35:29,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:29,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [844264035] [2022-04-28 10:35:29,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:29,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:29,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:29,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:29,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:29,184 INFO L290 TraceCheckUtils]: 0: Hoare triple {70630#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {70592#true} is VALID [2022-04-28 10:35:29,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,184 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-28 10:35:29,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:29,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:29,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 3: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {70592#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L290 TraceCheckUtils]: 12: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-28 10:35:29,202 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:35:29,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:29,266 INFO L290 TraceCheckUtils]: 0: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {70631#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:35:29,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {70631#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70632#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:35:29,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {70632#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70633#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:35:29,268 INFO L290 TraceCheckUtils]: 3: Hoare triple {70633#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70634#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:35:29,268 INFO L290 TraceCheckUtils]: 4: Hoare triple {70634#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,269 INFO L290 TraceCheckUtils]: 6: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {70635#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:35:29,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {70593#false} is VALID [2022-04-28 10:35:29,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-28 10:35:29,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-28 10:35:29,272 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-28 10:35:29,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {70592#true} call ULTIMATE.init(); {70630#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:35:29,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {70630#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {70592#true} is VALID [2022-04-28 10:35:29,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {70592#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 6: Hoare triple {70592#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L272 TraceCheckUtils]: 7: Hoare triple {70592#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {70592#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 25: Hoare triple {70592#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L272 TraceCheckUtils]: 26: Hoare triple {70592#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {70631#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:35:29,275 INFO L290 TraceCheckUtils]: 28: Hoare triple {70631#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70632#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:35:29,275 INFO L290 TraceCheckUtils]: 29: Hoare triple {70632#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70633#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:35:29,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {70633#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70634#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:35:29,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {70634#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,277 INFO L290 TraceCheckUtils]: 32: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,277 INFO L290 TraceCheckUtils]: 33: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {70635#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:35:29,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,279 INFO L290 TraceCheckUtils]: 37: Hoare triple {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,279 INFO L290 TraceCheckUtils]: 38: Hoare triple {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,279 INFO L290 TraceCheckUtils]: 39: Hoare triple {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 43: Hoare triple {70593#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L272 TraceCheckUtils]: 44: Hoare triple {70593#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-28 10:35:29,280 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:29,280 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:29,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [844264035] [2022-04-28 10:35:29,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [844264035] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:29,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [614976120] [2022-04-28 10:35:29,281 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:35:29,281 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:29,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:29,282 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:29,283 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Waiting until timeout for monitored process [2022-04-28 10:35:29,352 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:35:29,352 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:29,353 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 10:35:29,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:29,363 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:29,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {70592#true} call ULTIMATE.init(); {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {70592#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {70592#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 6: Hoare triple {70592#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L272 TraceCheckUtils]: 7: Hoare triple {70592#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 9: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,533 INFO L290 TraceCheckUtils]: 10: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {70592#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-28 10:35:29,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {70592#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {70592#true} is VALID [2022-04-28 10:35:29,535 INFO L272 TraceCheckUtils]: 26: Hoare triple {70592#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {70631#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:35:29,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {70631#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70632#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:35:29,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {70632#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70633#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:35:29,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {70633#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70634#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:35:29,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {70634#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {70635#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {70748#(and (<= student_version_~x~1 0) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:35:29,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {70748#(and (<= student_version_~x~1 0) (<= 4 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70752#(and (<= student_version_~x~1 1) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:35:29,553 INFO L290 TraceCheckUtils]: 37: Hoare triple {70752#(and (<= student_version_~x~1 1) (<= 4 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70756#(and (<= student_version_~x~1 2) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:35:29,553 INFO L290 TraceCheckUtils]: 38: Hoare triple {70756#(and (<= student_version_~x~1 2) (<= 4 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70760#(and (<= student_version_~x~1 3) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {70760#(and (<= student_version_~x~1 3) (<= 4 student_version_~i~1))} assume !(~x~1 < ~i~1); {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {70593#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L272 TraceCheckUtils]: 44: Hoare triple {70593#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-28 10:35:29,554 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:29,554 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:29,696 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-28 10:35:29,696 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-28 10:35:29,696 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-28 10:35:29,696 INFO L272 TraceCheckUtils]: 44: Hoare triple {70593#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {70593#false} is VALID [2022-04-28 10:35:29,696 INFO L290 TraceCheckUtils]: 43: Hoare triple {70593#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {70593#false} is VALID [2022-04-28 10:35:29,696 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-28 10:35:29,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-28 10:35:29,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-28 10:35:29,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {70593#false} is VALID [2022-04-28 10:35:29,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70639#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,698 INFO L290 TraceCheckUtils]: 37: Hoare triple {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70638#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,698 INFO L290 TraceCheckUtils]: 36: Hoare triple {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {70637#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:35:29,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {70635#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {70636#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:35:29,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,699 INFO L290 TraceCheckUtils]: 33: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {70635#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {70634#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70635#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:35:29,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {70633#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70634#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:35:29,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {70632#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70633#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:35:29,701 INFO L290 TraceCheckUtils]: 28: Hoare triple {70631#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {70632#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:35:29,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {70631#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:35:29,701 INFO L272 TraceCheckUtils]: 26: Hoare triple {70592#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {70592#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {70592#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {70592#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 12: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {70592#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {70592#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L272 TraceCheckUtils]: 7: Hoare triple {70592#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {70592#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {70592#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {70592#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {70592#true} call ULTIMATE.init(); {70592#true} is VALID [2022-04-28 10:35:29,703 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:35:29,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [614976120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:29,704 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:29,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-28 10:35:29,704 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:29,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1069377132] [2022-04-28 10:35:29,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1069377132] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:29,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:29,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:35:29,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060784344] [2022-04-28 10:35:29,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:29,704 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 48 [2022-04-28 10:35:29,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:29,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:35:29,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:29,727 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:35:29,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:29,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:35:29,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:35:29,728 INFO L87 Difference]: Start difference. First operand 375 states and 428 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:35:33,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:33,783 INFO L93 Difference]: Finished difference Result 409 states and 468 transitions. [2022-04-28 10:35:33,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:35:33,783 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 48 [2022-04-28 10:35:33,783 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:33,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:35:33,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-28 10:35:33,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:35:33,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-28 10:35:33,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 84 transitions. [2022-04-28 10:35:33,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:33,847 INFO L225 Difference]: With dead ends: 409 [2022-04-28 10:35:33,847 INFO L226 Difference]: Without dead ends: 382 [2022-04-28 10:35:33,849 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=291, Invalid=639, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:35:33,849 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 96 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 276 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:35:33,850 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [101 Valid, 65 Invalid, 276 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:35:33,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-28 10:35:37,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-28 10:35:37,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:37,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:37,531 INFO L74 IsIncluded]: Start isIncluded. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:37,531 INFO L87 Difference]: Start difference. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:37,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:37,537 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-28 10:35:37,537 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-28 10:35:37,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:37,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:37,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) Second operand 382 states. [2022-04-28 10:35:37,538 INFO L87 Difference]: Start difference. First operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) Second operand 382 states. [2022-04-28 10:35:37,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:37,544 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-28 10:35:37,544 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-28 10:35:37,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:37,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:37,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:37,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:37,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (33), 18 states have call predecessors, (33), 18 states have call successors, (33) [2022-04-28 10:35:37,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 435 transitions. [2022-04-28 10:35:37,552 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 435 transitions. Word has length 48 [2022-04-28 10:35:37,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:37,553 INFO L495 AbstractCegarLoop]: Abstraction has 382 states and 435 transitions. [2022-04-28 10:35:37,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:35:37,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 382 states and 435 transitions. [2022-04-28 10:35:38,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 435 edges. 435 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:38,415 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-28 10:35:38,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:35:38,416 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:38,417 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:35:38,433 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:38,622 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable51,43 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:38,622 INFO L420 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:38,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:38,623 INFO L85 PathProgramCache]: Analyzing trace with hash -1121658739, now seen corresponding path program 85 times [2022-04-28 10:35:38,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:38,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [930979834] [2022-04-28 10:35:38,636 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:38,636 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:38,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1121658739, now seen corresponding path program 86 times [2022-04-28 10:35:38,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:38,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606425465] [2022-04-28 10:35:38,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:38,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:38,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:38,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {73352#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73307#true} is VALID [2022-04-28 10:35:38,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-28 10:35:38,738 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-28 10:35:38,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:38,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,905 INFO L290 TraceCheckUtils]: 0: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:38,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:38,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:38,906 INFO L290 TraceCheckUtils]: 3: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:38,907 INFO L290 TraceCheckUtils]: 4: Hoare triple {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:38,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:38,908 INFO L290 TraceCheckUtils]: 6: Hoare triple {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:38,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:38,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:35:38,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:38,909 INFO L290 TraceCheckUtils]: 10: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:38,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:38,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:38,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:38,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:38,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:38,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {73307#true} #111#return; {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-28 10:35:38,912 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:35:38,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:39,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,144 INFO L290 TraceCheckUtils]: 3: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:39,144 INFO L290 TraceCheckUtils]: 4: Hoare triple {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:39,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:39,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:39,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:39,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:35:39,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,147 INFO L290 TraceCheckUtils]: 10: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:35:39,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {73348#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:39,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {73307#true} call ULTIMATE.init(); {73352#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:35:39,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {73352#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {73307#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {73307#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L272 TraceCheckUtils]: 7: Hoare triple {73307#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:39,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,151 INFO L290 TraceCheckUtils]: 10: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:39,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:39,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:39,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:39,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,154 INFO L290 TraceCheckUtils]: 16: Hoare triple {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:39,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:39,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:39,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:39,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:39,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:39,156 INFO L290 TraceCheckUtils]: 23: Hoare triple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:39,157 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {73307#true} #111#return; {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-28 10:35:39,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-28 10:35:39,157 INFO L272 TraceCheckUtils]: 26: Hoare triple {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:39,158 INFO L290 TraceCheckUtils]: 27: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,158 INFO L290 TraceCheckUtils]: 28: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:39,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:39,160 INFO L290 TraceCheckUtils]: 32: Hoare triple {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:39,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:39,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:39,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:35:39,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,162 INFO L290 TraceCheckUtils]: 37: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,162 INFO L290 TraceCheckUtils]: 38: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:35:39,163 INFO L290 TraceCheckUtils]: 39: Hoare triple {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,163 INFO L290 TraceCheckUtils]: 40: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,163 INFO L290 TraceCheckUtils]: 41: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,164 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {73348#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:39,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {73348#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73349#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:35:39,165 INFO L272 TraceCheckUtils]: 45: Hoare triple {73349#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:35:39,166 INFO L290 TraceCheckUtils]: 46: Hoare triple {73350#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {73351#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:35:39,166 INFO L290 TraceCheckUtils]: 47: Hoare triple {73351#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {73308#false} is VALID [2022-04-28 10:35:39,166 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-28 10:35:39,166 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:35:39,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:39,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [606425465] [2022-04-28 10:35:39,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [606425465] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:39,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1659869945] [2022-04-28 10:35:39,167 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:35:39,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:39,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:39,168 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:39,168 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-04-28 10:35:39,236 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:35:39,236 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:39,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 10:35:39,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:39,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:39,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {73307#true} call ULTIMATE.init(); {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {73307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {73307#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L290 TraceCheckUtils]: 6: Hoare triple {73307#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73307#true} is VALID [2022-04-28 10:35:39,778 INFO L272 TraceCheckUtils]: 7: Hoare triple {73307#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:39,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,779 INFO L290 TraceCheckUtils]: 10: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:39,780 INFO L290 TraceCheckUtils]: 12: Hoare triple {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:39,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:39,781 INFO L290 TraceCheckUtils]: 14: Hoare triple {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:39,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,782 INFO L290 TraceCheckUtils]: 16: Hoare triple {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:35:39,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:39,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:39,783 INFO L290 TraceCheckUtils]: 19: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {73435#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:35:39,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {73435#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:39,784 INFO L290 TraceCheckUtils]: 21: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:39,784 INFO L290 TraceCheckUtils]: 22: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:39,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:39,785 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {73307#true} #111#return; {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-28 10:35:39,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-28 10:35:39,786 INFO L272 TraceCheckUtils]: 26: Hoare triple {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:39,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,787 INFO L290 TraceCheckUtils]: 29: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:39,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:39,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:39,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:39,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:39,789 INFO L290 TraceCheckUtils]: 34: Hoare triple {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:39,789 INFO L290 TraceCheckUtils]: 35: Hoare triple {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:35:39,790 INFO L290 TraceCheckUtils]: 36: Hoare triple {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,790 INFO L290 TraceCheckUtils]: 37: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {73493#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:39,791 INFO L290 TraceCheckUtils]: 39: Hoare triple {73493#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:39,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:39,792 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {73509#(and (<= main_~n_stones1~0 7) (<= |main_#t~ret9| 7) (<= 7 main_~n_stones1~0) (<= 7 |main_#t~ret9|))} is VALID [2022-04-28 10:35:39,793 INFO L290 TraceCheckUtils]: 44: Hoare triple {73509#(and (<= main_~n_stones1~0 7) (<= |main_#t~ret9| 7) (<= 7 main_~n_stones1~0) (<= 7 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73513#(and (<= main_~n_stones2~0 7) (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0) (<= 7 main_~n_stones2~0))} is VALID [2022-04-28 10:35:39,793 INFO L272 TraceCheckUtils]: 45: Hoare triple {73513#(and (<= main_~n_stones2~0 7) (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0) (<= 7 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:35:39,794 INFO L290 TraceCheckUtils]: 46: Hoare triple {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {73521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:35:39,794 INFO L290 TraceCheckUtils]: 47: Hoare triple {73521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {73308#false} is VALID [2022-04-28 10:35:39,794 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-28 10:35:39,794 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:35:39,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:40,229 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-28 10:35:40,230 INFO L290 TraceCheckUtils]: 47: Hoare triple {73521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {73308#false} is VALID [2022-04-28 10:35:40,230 INFO L290 TraceCheckUtils]: 46: Hoare triple {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {73521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:35:40,231 INFO L272 TraceCheckUtils]: 45: Hoare triple {73349#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:35:40,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {73348#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73349#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:35:40,232 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {73348#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:40,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:40,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {73374#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-28 10:35:40,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:40,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {73373#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-28 10:35:40,234 INFO L290 TraceCheckUtils]: 38: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {73372#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:35:40,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:40,235 INFO L290 TraceCheckUtils]: 36: Hoare triple {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73371#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:35:40,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73370#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:35:40,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73369#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:40,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73368#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:40,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73367#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:40,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73366#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:40,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {73365#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:40,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:40,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:40,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73364#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:40,239 INFO L272 TraceCheckUtils]: 26: Hoare triple {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:40,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73330#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-28 10:35:40,240 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {73307#true} #111#return; {73329#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-28 10:35:40,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:40,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {73363#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-28 10:35:40,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:40,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {73362#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-28 10:35:40,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {73361#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:40,242 INFO L290 TraceCheckUtils]: 18: Hoare triple {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:40,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73360#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:35:40,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73359#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:35:40,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73358#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:40,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73357#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:40,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73356#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:40,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73355#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:40,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {73354#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:40,245 INFO L290 TraceCheckUtils]: 10: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:40,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:40,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {73307#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73353#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:40,246 INFO L272 TraceCheckUtils]: 7: Hoare triple {73307#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L290 TraceCheckUtils]: 6: Hoare triple {73307#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {73307#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {73307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73307#true} is VALID [2022-04-28 10:35:40,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {73307#true} call ULTIMATE.init(); {73307#true} is VALID [2022-04-28 10:35:40,247 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:35:40,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1659869945] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:40,247 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:40,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 37 [2022-04-28 10:35:40,247 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:40,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [930979834] [2022-04-28 10:35:40,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [930979834] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:40,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:40,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 10:35:40,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1846022562] [2022-04-28 10:35:40,247 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:40,248 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:35:40,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:40,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:40,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:40,279 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 10:35:40,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:40,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 10:35:40,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1251, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:35:40,280 INFO L87 Difference]: Start difference. First operand 382 states and 435 transitions. Second operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:49,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:49,996 INFO L93 Difference]: Finished difference Result 460 states and 524 transitions. [2022-04-28 10:35:49,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 10:35:49,996 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:35:49,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:49,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:49,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-28 10:35:49,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:49,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-28 10:35:49,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 174 transitions. [2022-04-28 10:35:50,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:50,138 INFO L225 Difference]: With dead ends: 460 [2022-04-28 10:35:50,138 INFO L226 Difference]: Without dead ends: 454 [2022-04-28 10:35:50,141 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 92 SyntacticMatches, 5 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 587 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=226, Invalid=4064, Unknown=0, NotChecked=0, Total=4290 [2022-04-28 10:35:50,141 INFO L413 NwaCegarLoop]: 89 mSDtfsCounter, 195 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 3738 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 203 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 3782 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 3738 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:35:50,142 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [203 Valid, 231 Invalid, 3782 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 3738 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-28 10:35:50,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 454 states. [2022-04-28 10:35:53,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 454 to 398. [2022-04-28 10:35:53,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:53,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 454 states. Second operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) [2022-04-28 10:35:53,992 INFO L74 IsIncluded]: Start isIncluded. First operand 454 states. Second operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) [2022-04-28 10:35:53,992 INFO L87 Difference]: Start difference. First operand 454 states. Second operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) [2022-04-28 10:35:54,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:54,000 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-28 10:35:54,000 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-28 10:35:54,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:54,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:54,002 INFO L74 IsIncluded]: Start isIncluded. First operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) Second operand 454 states. [2022-04-28 10:35:54,002 INFO L87 Difference]: Start difference. First operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) Second operand 454 states. [2022-04-28 10:35:54,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:54,010 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-28 10:35:54,010 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-28 10:35:54,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:54,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:54,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:54,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:54,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 398 states, 341 states have (on average 1.1642228739002933) internal successors, (397), 373 states have internal predecessors, (397), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (36), 19 states have call predecessors, (36), 19 states have call successors, (36) [2022-04-28 10:35:54,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 398 states to 398 states and 454 transitions. [2022-04-28 10:35:54,020 INFO L78 Accepts]: Start accepts. Automaton has 398 states and 454 transitions. Word has length 49 [2022-04-28 10:35:54,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:54,020 INFO L495 AbstractCegarLoop]: Abstraction has 398 states and 454 transitions. [2022-04-28 10:35:54,020 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:54,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 398 states and 454 transitions. [2022-04-28 10:35:54,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 454 edges. 454 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:54,923 INFO L276 IsEmpty]: Start isEmpty. Operand 398 states and 454 transitions. [2022-04-28 10:35:54,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:35:54,930 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:54,930 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:35:54,947 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:55,131 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-28 10:35:55,131 INFO L420 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:55,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:55,132 INFO L85 PathProgramCache]: Analyzing trace with hash -1142562995, now seen corresponding path program 87 times [2022-04-28 10:35:55,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:55,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [606233403] [2022-04-28 10:35:55,135 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:55,135 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:55,135 INFO L85 PathProgramCache]: Analyzing trace with hash -1142562995, now seen corresponding path program 88 times [2022-04-28 10:35:55,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:55,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [356832719] [2022-04-28 10:35:55,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:55,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:55,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:55,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:55,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:55,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {76402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76357#true} is VALID [2022-04-28 10:35:55,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-28 10:35:55,215 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-28 10:35:55,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:55,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:55,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,360 INFO L290 TraceCheckUtils]: 3: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,361 INFO L290 TraceCheckUtils]: 4: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:55,361 INFO L290 TraceCheckUtils]: 5: Hoare triple {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:55,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:55,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:55,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,363 INFO L290 TraceCheckUtils]: 10: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} is VALID [2022-04-28 10:35:55,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:55,364 INFO L290 TraceCheckUtils]: 12: Hoare triple {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:55,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:55,365 INFO L290 TraceCheckUtils]: 14: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:55,365 INFO L290 TraceCheckUtils]: 15: Hoare triple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:55,366 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {76357#true} #111#return; {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-28 10:35:55,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:35:55,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:55,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,573 INFO L290 TraceCheckUtils]: 3: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,573 INFO L290 TraceCheckUtils]: 4: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:55,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:55,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:55,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:55,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:55,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:55,576 INFO L290 TraceCheckUtils]: 10: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} is VALID [2022-04-28 10:35:55,576 INFO L290 TraceCheckUtils]: 11: Hoare triple {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-28 10:35:55,577 INFO L290 TraceCheckUtils]: 12: Hoare triple {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:55,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:55,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:55,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:55,578 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {76398#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:55,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {76357#true} call ULTIMATE.init(); {76402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:35:55,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {76402#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {76357#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L290 TraceCheckUtils]: 6: Hoare triple {76357#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76357#true} is VALID [2022-04-28 10:35:55,579 INFO L272 TraceCheckUtils]: 7: Hoare triple {76357#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:55,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,580 INFO L290 TraceCheckUtils]: 10: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,581 INFO L290 TraceCheckUtils]: 12: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:55,581 INFO L290 TraceCheckUtils]: 13: Hoare triple {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:55,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:55,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:55,583 INFO L290 TraceCheckUtils]: 16: Hoare triple {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,583 INFO L290 TraceCheckUtils]: 17: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:55,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} is VALID [2022-04-28 10:35:55,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:55,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:55,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:55,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:55,585 INFO L290 TraceCheckUtils]: 23: Hoare triple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:55,586 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {76357#true} #111#return; {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-28 10:35:55,586 INFO L290 TraceCheckUtils]: 25: Hoare triple {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-28 10:35:55,586 INFO L272 TraceCheckUtils]: 26: Hoare triple {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:55,587 INFO L290 TraceCheckUtils]: 27: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,587 INFO L290 TraceCheckUtils]: 28: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,587 INFO L290 TraceCheckUtils]: 29: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,588 INFO L290 TraceCheckUtils]: 30: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:55,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:55,588 INFO L290 TraceCheckUtils]: 32: Hoare triple {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:55,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:55,589 INFO L290 TraceCheckUtils]: 34: Hoare triple {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:55,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:55,590 INFO L290 TraceCheckUtils]: 36: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:55,590 INFO L290 TraceCheckUtils]: 37: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} is VALID [2022-04-28 10:35:55,591 INFO L290 TraceCheckUtils]: 38: Hoare triple {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-28 10:35:55,591 INFO L290 TraceCheckUtils]: 39: Hoare triple {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:55,592 INFO L290 TraceCheckUtils]: 40: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:55,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:55,592 INFO L290 TraceCheckUtils]: 42: Hoare triple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:55,593 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {76398#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:55,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {76398#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76399#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:35:55,594 INFO L272 TraceCheckUtils]: 45: Hoare triple {76399#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76400#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:35:55,594 INFO L290 TraceCheckUtils]: 46: Hoare triple {76400#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {76401#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:35:55,595 INFO L290 TraceCheckUtils]: 47: Hoare triple {76401#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {76358#false} is VALID [2022-04-28 10:35:55,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-28 10:35:55,595 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:35:55,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:55,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [356832719] [2022-04-28 10:35:55,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [356832719] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:55,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021461636] [2022-04-28 10:35:55,595 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:35:55,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:55,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:55,596 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:55,597 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-04-28 10:35:55,667 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:35:55,667 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:55,668 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 10:35:55,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:55,678 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:56,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {76357#true} call ULTIMATE.init(); {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {76357#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {76357#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L290 TraceCheckUtils]: 6: Hoare triple {76357#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76357#true} is VALID [2022-04-28 10:35:56,322 INFO L272 TraceCheckUtils]: 7: Hoare triple {76357#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:56,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,323 INFO L290 TraceCheckUtils]: 10: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:56,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:56,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:56,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:56,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {76480#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:35:56,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {76480#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76484#(and (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,328 INFO L290 TraceCheckUtils]: 20: Hoare triple {76484#(and (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:56,328 INFO L290 TraceCheckUtils]: 21: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:56,328 INFO L290 TraceCheckUtils]: 22: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:56,329 INFO L290 TraceCheckUtils]: 23: Hoare triple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:56,329 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {76357#true} #111#return; {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-28 10:35:56,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-28 10:35:56,330 INFO L272 TraceCheckUtils]: 26: Hoare triple {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:56,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,330 INFO L290 TraceCheckUtils]: 28: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:56,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:56,333 INFO L290 TraceCheckUtils]: 33: Hoare triple {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:56,333 INFO L290 TraceCheckUtils]: 34: Hoare triple {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:56,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {76539#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {76539#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76543#(and (<= student_version_~j~1 5) (= student_version_~j~1 student_version_~y~1) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {76543#(and (<= student_version_~j~1 5) (= student_version_~j~1 student_version_~y~1) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:56,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:56,336 INFO L290 TraceCheckUtils]: 41: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:56,336 INFO L290 TraceCheckUtils]: 42: Hoare triple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:56,337 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {76559#(and (<= 10 main_~n_stones1~0) (<= 10 |main_#t~ret9|) (<= main_~n_stones1~0 10) (<= |main_#t~ret9| 10))} is VALID [2022-04-28 10:35:56,337 INFO L290 TraceCheckUtils]: 44: Hoare triple {76559#(and (<= 10 main_~n_stones1~0) (<= 10 |main_#t~ret9|) (<= main_~n_stones1~0 10) (<= |main_#t~ret9| 10))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76563#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones2~0 10) (<= 10 main_~n_stones2~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-28 10:35:56,338 INFO L272 TraceCheckUtils]: 45: Hoare triple {76563#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones2~0 10) (<= 10 main_~n_stones2~0) (<= main_~n_stones1~0 10))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:35:56,338 INFO L290 TraceCheckUtils]: 46: Hoare triple {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {76571#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:35:56,338 INFO L290 TraceCheckUtils]: 47: Hoare triple {76571#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {76358#false} is VALID [2022-04-28 10:35:56,338 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-28 10:35:56,339 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:35:56,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:56,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-28 10:35:56,777 INFO L290 TraceCheckUtils]: 47: Hoare triple {76571#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {76358#false} is VALID [2022-04-28 10:35:56,777 INFO L290 TraceCheckUtils]: 46: Hoare triple {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {76571#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:35:56,778 INFO L272 TraceCheckUtils]: 45: Hoare triple {76399#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:35:56,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {76398#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76399#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:35:56,779 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {76398#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:35:56,780 INFO L290 TraceCheckUtils]: 42: Hoare triple {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:56,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {76422#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-28 10:35:56,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:56,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76421#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-28 10:35:56,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76420#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-28 10:35:56,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {76419#(and (<= 10 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 10))} is VALID [2022-04-28 10:35:56,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76418#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:35:56,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76417#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:35:56,783 INFO L290 TraceCheckUtils]: 33: Hoare triple {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76416#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:35:56,784 INFO L290 TraceCheckUtils]: 32: Hoare triple {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76415#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:35:56,784 INFO L290 TraceCheckUtils]: 31: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76414#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:35:56,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,785 INFO L290 TraceCheckUtils]: 28: Hoare triple {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76413#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:35:56,786 INFO L272 TraceCheckUtils]: 26: Hoare triple {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:56,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76380#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-28 10:35:56,787 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {76357#true} #111#return; {76379#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-28 10:35:56,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:56,787 INFO L290 TraceCheckUtils]: 22: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {76412#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-28 10:35:56,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:56,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76411#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-28 10:35:56,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76410#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:35:56,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {76409#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 10))} is VALID [2022-04-28 10:35:56,789 INFO L290 TraceCheckUtils]: 17: Hoare triple {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,790 INFO L290 TraceCheckUtils]: 16: Hoare triple {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76408#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,790 INFO L290 TraceCheckUtils]: 15: Hoare triple {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76407#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:35:56,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76406#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:35:56,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76405#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:35:56,792 INFO L290 TraceCheckUtils]: 12: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76404#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:35:56,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,792 INFO L290 TraceCheckUtils]: 10: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,793 INFO L290 TraceCheckUtils]: 9: Hoare triple {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {76357#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76403#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:35:56,793 INFO L272 TraceCheckUtils]: 7: Hoare triple {76357#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76357#true} is VALID [2022-04-28 10:35:56,793 INFO L290 TraceCheckUtils]: 6: Hoare triple {76357#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76357#true} is VALID [2022-04-28 10:35:56,793 INFO L290 TraceCheckUtils]: 5: Hoare triple {76357#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76357#true} is VALID [2022-04-28 10:35:56,793 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-28 10:35:56,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-28 10:35:56,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-28 10:35:56,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {76357#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76357#true} is VALID [2022-04-28 10:35:56,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {76357#true} call ULTIMATE.init(); {76357#true} is VALID [2022-04-28 10:35:56,794 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:35:56,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021461636] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:56,794 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:56,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 37 [2022-04-28 10:35:56,794 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:56,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [606233403] [2022-04-28 10:35:56,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [606233403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:56,795 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:56,795 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:35:56,795 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [435753037] [2022-04-28 10:35:56,795 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:56,795 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:35:56,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:56,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:35:56,824 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:56,824 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:35:56,824 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:56,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:35:56,825 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1247, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:35:56,825 INFO L87 Difference]: Start difference. First operand 398 states and 454 transitions. Second operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:04,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:04,840 INFO L93 Difference]: Finished difference Result 404 states and 459 transitions. [2022-04-28 10:36:04,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:36:04,840 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:36:04,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:04,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:04,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-28 10:36:04,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:04,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-28 10:36:04,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 140 transitions. [2022-04-28 10:36:04,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:04,954 INFO L225 Difference]: With dead ends: 404 [2022-04-28 10:36:04,954 INFO L226 Difference]: Without dead ends: 382 [2022-04-28 10:36:04,956 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 606 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=228, Invalid=3804, Unknown=0, NotChecked=0, Total=4032 [2022-04-28 10:36:04,956 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 134 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2854 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 137 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 2885 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 2854 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:04,956 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [137 Valid, 206 Invalid, 2885 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 2854 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 10:36:04,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-28 10:36:08,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-28 10:36:08,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:08,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) [2022-04-28 10:36:08,788 INFO L74 IsIncluded]: Start isIncluded. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) [2022-04-28 10:36:08,789 INFO L87 Difference]: Start difference. First operand 382 states. Second operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) [2022-04-28 10:36:08,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:08,794 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-28 10:36:08,795 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-28 10:36:08,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:08,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:08,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) Second operand 382 states. [2022-04-28 10:36:08,796 INFO L87 Difference]: Start difference. First operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) Second operand 382 states. [2022-04-28 10:36:08,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:08,802 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-28 10:36:08,802 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-28 10:36:08,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:08,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:08,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:08,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:08,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 382 states, 328 states have (on average 1.1646341463414633) internal successors, (382), 358 states have internal predecessors, (382), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (34), 18 states have call predecessors, (34), 18 states have call successors, (34) [2022-04-28 10:36:08,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 436 transitions. [2022-04-28 10:36:08,810 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 436 transitions. Word has length 49 [2022-04-28 10:36:08,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:08,810 INFO L495 AbstractCegarLoop]: Abstraction has 382 states and 436 transitions. [2022-04-28 10:36:08,810 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:08,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 382 states and 436 transitions. [2022-04-28 10:36:09,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 436 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:09,691 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-28 10:36:09,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:36:09,693 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:09,693 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:36:09,708 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:09,893 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable53,45 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:09,893 INFO L420 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:09,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:09,893 INFO L85 PathProgramCache]: Analyzing trace with hash 690493581, now seen corresponding path program 89 times [2022-04-28 10:36:09,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:09,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1986528857] [2022-04-28 10:36:09,896 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:09,896 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:09,896 INFO L85 PathProgramCache]: Analyzing trace with hash 690493581, now seen corresponding path program 90 times [2022-04-28 10:36:09,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:09,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132705665] [2022-04-28 10:36:09,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:09,896 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:09,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:09,974 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:09,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:09,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {79160#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {79115#true} is VALID [2022-04-28 10:36:09,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-28 10:36:09,976 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-28 10:36:09,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:09,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:10,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,118 INFO L290 TraceCheckUtils]: 3: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,118 INFO L290 TraceCheckUtils]: 4: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:10,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:36:10,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:10,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:10,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} is VALID [2022-04-28 10:36:10,121 INFO L290 TraceCheckUtils]: 10: Hoare triple {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} is VALID [2022-04-28 10:36:10,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:36:10,122 INFO L290 TraceCheckUtils]: 12: Hoare triple {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:10,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:10,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:10,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:10,124 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {79115#true} #111#return; {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:36:10,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:36:10,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:10,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,323 INFO L290 TraceCheckUtils]: 3: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,324 INFO L290 TraceCheckUtils]: 4: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:10,324 INFO L290 TraceCheckUtils]: 6: Hoare triple {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:36:10,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:10,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:10,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} is VALID [2022-04-28 10:36:10,326 INFO L290 TraceCheckUtils]: 10: Hoare triple {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:10,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:36:10,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:10,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:10,335 INFO L290 TraceCheckUtils]: 14: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:10,335 INFO L290 TraceCheckUtils]: 15: Hoare triple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:10,336 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {79156#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:10,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {79115#true} call ULTIMATE.init(); {79160#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:36:10,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {79160#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {79115#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {79115#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {79115#true} is VALID [2022-04-28 10:36:10,337 INFO L272 TraceCheckUtils]: 7: Hoare triple {79115#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:10,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,338 INFO L290 TraceCheckUtils]: 10: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:10,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:10,340 INFO L290 TraceCheckUtils]: 14: Hoare triple {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:36:10,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:10,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:10,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} is VALID [2022-04-28 10:36:10,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} is VALID [2022-04-28 10:36:10,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:36:10,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:10,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:10,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:10,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:10,344 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {79115#true} #111#return; {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:36:10,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:36:10,344 INFO L272 TraceCheckUtils]: 26: Hoare triple {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:10,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,345 INFO L290 TraceCheckUtils]: 28: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,346 INFO L290 TraceCheckUtils]: 31: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:10,346 INFO L290 TraceCheckUtils]: 32: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:10,347 INFO L290 TraceCheckUtils]: 33: Hoare triple {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:36:10,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:10,348 INFO L290 TraceCheckUtils]: 35: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:10,348 INFO L290 TraceCheckUtils]: 36: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} is VALID [2022-04-28 10:36:10,348 INFO L290 TraceCheckUtils]: 37: Hoare triple {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:10,349 INFO L290 TraceCheckUtils]: 38: Hoare triple {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:36:10,349 INFO L290 TraceCheckUtils]: 39: Hoare triple {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:10,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:10,350 INFO L290 TraceCheckUtils]: 41: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:10,350 INFO L290 TraceCheckUtils]: 42: Hoare triple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:10,351 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {79156#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:10,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {79156#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {79157#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:36:10,352 INFO L272 TraceCheckUtils]: 45: Hoare triple {79157#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {79158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:36:10,352 INFO L290 TraceCheckUtils]: 46: Hoare triple {79158#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {79159#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:36:10,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {79159#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {79116#false} is VALID [2022-04-28 10:36:10,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-28 10:36:10,353 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:36:10,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:10,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132705665] [2022-04-28 10:36:10,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [132705665] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:10,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [28900029] [2022-04-28 10:36:10,353 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:36:10,353 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:10,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:10,354 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:10,355 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-04-28 10:36:10,422 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 10:36:10,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:10,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:36:10,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:10,433 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:11,081 INFO L272 TraceCheckUtils]: 0: Hoare triple {79115#true} call ULTIMATE.init(); {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {79115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {79115#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L290 TraceCheckUtils]: 6: Hoare triple {79115#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L272 TraceCheckUtils]: 7: Hoare triple {79115#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:11,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,083 INFO L290 TraceCheckUtils]: 10: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:11,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:36:11,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,086 INFO L290 TraceCheckUtils]: 17: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {79233#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,086 INFO L290 TraceCheckUtils]: 18: Hoare triple {79233#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79237#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {79237#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79241#(and (<= 3 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {79241#(and (<= 3 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:11,087 INFO L290 TraceCheckUtils]: 21: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:11,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:11,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:11,089 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {79115#true} #111#return; {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:36:11,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:36:11,089 INFO L272 TraceCheckUtils]: 26: Hoare triple {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:11,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,091 INFO L290 TraceCheckUtils]: 31: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,091 INFO L290 TraceCheckUtils]: 32: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:11,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:36:11,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,092 INFO L290 TraceCheckUtils]: 35: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {79293#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,093 INFO L290 TraceCheckUtils]: 37: Hoare triple {79293#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79297#(and (<= student_version_~j~1 3) (= student_version_~j~1 student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,093 INFO L290 TraceCheckUtils]: 38: Hoare triple {79297#(and (<= student_version_~j~1 3) (= student_version_~j~1 student_version_~y~1) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79301#(and (<= student_version_~j~1 3) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,094 INFO L290 TraceCheckUtils]: 39: Hoare triple {79301#(and (<= student_version_~j~1 3) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:11,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:11,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:11,095 INFO L290 TraceCheckUtils]: 42: Hoare triple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:11,096 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {79317#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} is VALID [2022-04-28 10:36:11,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {79317#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {79321#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= main_~n_stones2~0 9) (<= 9 main_~n_stones2~0))} is VALID [2022-04-28 10:36:11,097 INFO L272 TraceCheckUtils]: 45: Hoare triple {79321#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= main_~n_stones2~0 9) (<= 9 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:36:11,097 INFO L290 TraceCheckUtils]: 46: Hoare triple {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {79329#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:36:11,097 INFO L290 TraceCheckUtils]: 47: Hoare triple {79329#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {79116#false} is VALID [2022-04-28 10:36:11,097 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-28 10:36:11,097 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:36:11,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:11,554 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-28 10:36:11,554 INFO L290 TraceCheckUtils]: 47: Hoare triple {79329#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {79116#false} is VALID [2022-04-28 10:36:11,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {79329#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:36:11,555 INFO L272 TraceCheckUtils]: 45: Hoare triple {79157#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:36:11,556 INFO L290 TraceCheckUtils]: 44: Hoare triple {79156#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {79157#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:36:11,556 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {79156#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:11,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:11,557 INFO L290 TraceCheckUtils]: 41: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {79178#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:36:11,557 INFO L290 TraceCheckUtils]: 40: Hoare triple {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:11,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79177#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:36:11,558 INFO L290 TraceCheckUtils]: 38: Hoare triple {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79176#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:36:11,559 INFO L290 TraceCheckUtils]: 37: Hoare triple {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {79175#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 9) (<= 9 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:11,559 INFO L290 TraceCheckUtils]: 36: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {79174#(and (<= 9 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 9))} is VALID [2022-04-28 10:36:11,560 INFO L290 TraceCheckUtils]: 35: Hoare triple {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79173#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:36:11,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79172#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:36:11,561 INFO L290 TraceCheckUtils]: 32: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {79171#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:11,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,563 INFO L290 TraceCheckUtils]: 27: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {79170#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:11,563 INFO L272 TraceCheckUtils]: 26: Hoare triple {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:11,563 INFO L290 TraceCheckUtils]: 25: Hoare triple {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {79138#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:36:11,564 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {79115#true} #111#return; {79137#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:36:11,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:11,564 INFO L290 TraceCheckUtils]: 22: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {79169#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:36:11,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:11,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79168#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:36:11,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79167#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:36:11,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {79166#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 9))} is VALID [2022-04-28 10:36:11,566 INFO L290 TraceCheckUtils]: 17: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {79165#(and (<= 9 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 9))} is VALID [2022-04-28 10:36:11,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79164#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:36:11,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79163#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:36:11,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79162#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:11,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,569 INFO L290 TraceCheckUtils]: 10: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {79115#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79161#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:11,570 INFO L272 TraceCheckUtils]: 7: Hoare triple {79115#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L290 TraceCheckUtils]: 6: Hoare triple {79115#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {79115#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {79115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {79115#true} is VALID [2022-04-28 10:36:11,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {79115#true} call ULTIMATE.init(); {79115#true} is VALID [2022-04-28 10:36:11,571 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:36:11,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [28900029] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:11,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:11,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 37 [2022-04-28 10:36:11,571 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:11,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1986528857] [2022-04-28 10:36:11,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1986528857] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:11,571 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:11,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:36:11,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [551454943] [2022-04-28 10:36:11,571 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:11,572 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:36:11,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:11,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:11,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:11,599 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:36:11,599 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:11,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:36:11,600 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1243, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:36:11,600 INFO L87 Difference]: Start difference. First operand 382 states and 436 transitions. Second operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:18,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:18,216 INFO L93 Difference]: Finished difference Result 388 states and 441 transitions. [2022-04-28 10:36:18,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:36:18,216 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:36:18,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:18,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:18,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-28 10:36:18,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:18,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-28 10:36:18,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 110 transitions. [2022-04-28 10:36:18,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:18,318 INFO L225 Difference]: With dead ends: 388 [2022-04-28 10:36:18,318 INFO L226 Difference]: Without dead ends: 364 [2022-04-28 10:36:18,320 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 84 SyntacticMatches, 9 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=230, Invalid=3552, Unknown=0, NotChecked=0, Total=3782 [2022-04-28 10:36:18,320 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 95 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 1926 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 1956 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 1926 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:18,320 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 176 Invalid, 1956 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 1926 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 10:36:18,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-28 10:36:21,883 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 364. [2022-04-28 10:36:21,883 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:21,883 INFO L82 GeneralOperation]: Start isEquivalent. First operand 364 states. Second operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) [2022-04-28 10:36:21,883 INFO L74 IsIncluded]: Start isIncluded. First operand 364 states. Second operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) [2022-04-28 10:36:21,884 INFO L87 Difference]: Start difference. First operand 364 states. Second operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) [2022-04-28 10:36:21,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:21,891 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-28 10:36:21,891 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-28 10:36:21,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:21,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:21,892 INFO L74 IsIncluded]: Start isIncluded. First operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) Second operand 364 states. [2022-04-28 10:36:21,892 INFO L87 Difference]: Start difference. First operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) Second operand 364 states. [2022-04-28 10:36:21,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:21,897 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-28 10:36:21,897 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-28 10:36:21,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:21,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:21,898 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:21,898 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:21,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 364 states, 313 states have (on average 1.1661341853035143) internal successors, (365), 341 states have internal predecessors, (365), 19 states have call successors, (19), 5 states have call predecessors, (19), 31 states have return successors, (32), 17 states have call predecessors, (32), 17 states have call successors, (32) [2022-04-28 10:36:21,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 416 transitions. [2022-04-28 10:36:21,905 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 416 transitions. Word has length 49 [2022-04-28 10:36:21,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:21,905 INFO L495 AbstractCegarLoop]: Abstraction has 364 states and 416 transitions. [2022-04-28 10:36:21,905 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:21,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 364 states and 416 transitions. [2022-04-28 10:36:22,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 416 edges. 416 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:22,770 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-28 10:36:22,771 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:36:22,771 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:22,771 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:36:22,788 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Ended with exit code 0 [2022-04-28 10:36:22,986 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable54 [2022-04-28 10:36:22,986 INFO L420 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:22,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:22,987 INFO L85 PathProgramCache]: Analyzing trace with hash 375234381, now seen corresponding path program 91 times [2022-04-28 10:36:22,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:22,987 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [987126797] [2022-04-28 10:36:22,989 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:22,989 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:22,989 INFO L85 PathProgramCache]: Analyzing trace with hash 375234381, now seen corresponding path program 92 times [2022-04-28 10:36:22,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:22,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1871618661] [2022-04-28 10:36:22,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:22,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:23,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:23,063 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:23,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:23,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {81810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {81765#true} is VALID [2022-04-28 10:36:23,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-28 10:36:23,066 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-28 10:36:23,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:23,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:23,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:23,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:23,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} is VALID [2022-04-28 10:36:23,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:36:23,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:36:23,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:36:23,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:23,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:23,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:23,185 INFO L290 TraceCheckUtils]: 15: Hoare triple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:23,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {81765#true} #111#return; {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:36:23,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:36:23,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:23,346 INFO L290 TraceCheckUtils]: 0: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:23,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:23,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:36:23,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:36:23,350 INFO L290 TraceCheckUtils]: 10: Hoare triple {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:23,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:36:23,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:23,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:23,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:23,352 INFO L290 TraceCheckUtils]: 15: Hoare triple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:23,352 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {81806#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:23,353 INFO L272 TraceCheckUtils]: 0: Hoare triple {81765#true} call ULTIMATE.init(); {81810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:36:23,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {81810#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {81765#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L290 TraceCheckUtils]: 6: Hoare triple {81765#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {81765#true} is VALID [2022-04-28 10:36:23,353 INFO L272 TraceCheckUtils]: 7: Hoare triple {81765#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:23,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,354 INFO L290 TraceCheckUtils]: 10: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:23,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:23,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:23,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} is VALID [2022-04-28 10:36:23,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:36:23,357 INFO L290 TraceCheckUtils]: 18: Hoare triple {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:36:23,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:36:23,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:23,359 INFO L290 TraceCheckUtils]: 21: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:23,359 INFO L290 TraceCheckUtils]: 22: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:23,359 INFO L290 TraceCheckUtils]: 23: Hoare triple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:23,360 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {81765#true} #111#return; {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:36:23,360 INFO L290 TraceCheckUtils]: 25: Hoare triple {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:36:23,360 INFO L272 TraceCheckUtils]: 26: Hoare triple {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:23,361 INFO L290 TraceCheckUtils]: 27: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,361 INFO L290 TraceCheckUtils]: 28: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,361 INFO L290 TraceCheckUtils]: 29: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,362 INFO L290 TraceCheckUtils]: 30: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,362 INFO L290 TraceCheckUtils]: 31: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,362 INFO L290 TraceCheckUtils]: 32: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:23,363 INFO L290 TraceCheckUtils]: 33: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:23,363 INFO L290 TraceCheckUtils]: 34: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:23,363 INFO L290 TraceCheckUtils]: 35: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:36:23,364 INFO L290 TraceCheckUtils]: 36: Hoare triple {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:36:23,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:23,365 INFO L290 TraceCheckUtils]: 38: Hoare triple {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:36:23,365 INFO L290 TraceCheckUtils]: 39: Hoare triple {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:23,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:23,366 INFO L290 TraceCheckUtils]: 41: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:23,366 INFO L290 TraceCheckUtils]: 42: Hoare triple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:23,367 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {81806#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:23,367 INFO L290 TraceCheckUtils]: 44: Hoare triple {81806#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {81807#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:36:23,368 INFO L272 TraceCheckUtils]: 45: Hoare triple {81807#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {81808#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:36:23,368 INFO L290 TraceCheckUtils]: 46: Hoare triple {81808#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {81809#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:36:23,368 INFO L290 TraceCheckUtils]: 47: Hoare triple {81809#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {81766#false} is VALID [2022-04-28 10:36:23,368 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-28 10:36:23,369 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:36:23,369 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:23,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1871618661] [2022-04-28 10:36:23,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1871618661] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:23,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1732490318] [2022-04-28 10:36:23,369 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:36:23,369 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:23,369 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:23,370 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:23,371 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-04-28 10:36:23,437 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:36:23,437 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:23,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:36:23,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:23,447 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:24,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {81765#true} call ULTIMATE.init(); {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {81765#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {81765#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {81765#true} is VALID [2022-04-28 10:36:24,141 INFO L290 TraceCheckUtils]: 6: Hoare triple {81765#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {81765#true} is VALID [2022-04-28 10:36:24,142 INFO L272 TraceCheckUtils]: 7: Hoare triple {81765#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:24,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,143 INFO L290 TraceCheckUtils]: 10: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,143 INFO L290 TraceCheckUtils]: 11: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,143 INFO L290 TraceCheckUtils]: 12: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {81878#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,145 INFO L290 TraceCheckUtils]: 17: Hoare triple {81878#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81882#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,146 INFO L290 TraceCheckUtils]: 18: Hoare triple {81882#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81886#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 2) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {81886#(and (<= 1 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 2) correct_version_~j~0)) 0) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81890#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 3)) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {81890#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 3)) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:24,147 INFO L290 TraceCheckUtils]: 21: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:24,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:24,147 INFO L290 TraceCheckUtils]: 23: Hoare triple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:24,148 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {81765#true} #111#return; {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:36:24,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:36:24,148 INFO L272 TraceCheckUtils]: 26: Hoare triple {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:24,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,149 INFO L290 TraceCheckUtils]: 28: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,149 INFO L290 TraceCheckUtils]: 29: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,152 INFO L290 TraceCheckUtils]: 35: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {81939#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {81939#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81943#(and (<= student_version_~j~1 1) (= student_version_~j~1 student_version_~y~1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,152 INFO L290 TraceCheckUtils]: 37: Hoare triple {81943#(and (<= student_version_~j~1 1) (= student_version_~j~1 student_version_~y~1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81947#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {81947#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81951#(and (<= student_version_~j~1 1) (= student_version_~y~1 (* 3 student_version_~j~1)) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {81951#(and (<= student_version_~j~1 1) (= student_version_~y~1 (* 3 student_version_~j~1)) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:24,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:24,154 INFO L290 TraceCheckUtils]: 41: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:24,154 INFO L290 TraceCheckUtils]: 42: Hoare triple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:24,155 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {81967#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-28 10:36:24,155 INFO L290 TraceCheckUtils]: 44: Hoare triple {81967#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {81971#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} is VALID [2022-04-28 10:36:24,156 INFO L272 TraceCheckUtils]: 45: Hoare triple {81971#(and (<= main_~n_stones1~0 4) (<= main_~n_stones2~0 4) (<= 4 main_~n_stones1~0) (<= 4 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:36:24,156 INFO L290 TraceCheckUtils]: 46: Hoare triple {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {81979#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:36:24,156 INFO L290 TraceCheckUtils]: 47: Hoare triple {81979#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {81766#false} is VALID [2022-04-28 10:36:24,157 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-28 10:36:24,157 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:36:24,157 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:24,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-28 10:36:24,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {81979#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {81766#false} is VALID [2022-04-28 10:36:24,596 INFO L290 TraceCheckUtils]: 46: Hoare triple {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {81979#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:36:24,597 INFO L272 TraceCheckUtils]: 45: Hoare triple {81807#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:36:24,597 INFO L290 TraceCheckUtils]: 44: Hoare triple {81806#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {81807#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:36:24,598 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {81806#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:36:24,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:24,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {81826#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-28 10:36:24,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:24,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81825#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-28 10:36:24,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81824#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-28 10:36:24,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81823#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 4) (<= 4 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:36:24,601 INFO L290 TraceCheckUtils]: 36: Hoare triple {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {81822#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 4) (<= 4 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:36:24,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {81821#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 4) (<= 4 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:36:24,601 INFO L290 TraceCheckUtils]: 34: Hoare triple {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,602 INFO L290 TraceCheckUtils]: 33: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {81820#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:36:24,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,604 INFO L290 TraceCheckUtils]: 28: Hoare triple {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {81819#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:36:24,604 INFO L272 TraceCheckUtils]: 26: Hoare triple {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:24,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {81788#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-28 10:36:24,605 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {81765#true} #111#return; {81787#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-28 10:36:24,605 INFO L290 TraceCheckUtils]: 23: Hoare triple {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:24,606 INFO L290 TraceCheckUtils]: 22: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {81818#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-28 10:36:24,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:24,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81817#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-28 10:36:24,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81816#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-28 10:36:24,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81815#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:36:24,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {81814#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 4) (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:36:24,608 INFO L290 TraceCheckUtils]: 16: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {81813#(and (<= 4 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 4))} is VALID [2022-04-28 10:36:24,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {81812#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:36:24,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {81765#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {81811#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:36:24,611 INFO L272 TraceCheckUtils]: 7: Hoare triple {81765#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {81765#true} is VALID [2022-04-28 10:36:24,611 INFO L290 TraceCheckUtils]: 6: Hoare triple {81765#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {81765#true} is VALID [2022-04-28 10:36:24,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {81765#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {81765#true} is VALID [2022-04-28 10:36:24,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-28 10:36:24,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-28 10:36:24,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-28 10:36:24,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {81765#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {81765#true} is VALID [2022-04-28 10:36:24,612 INFO L272 TraceCheckUtils]: 0: Hoare triple {81765#true} call ULTIMATE.init(); {81765#true} is VALID [2022-04-28 10:36:24,612 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:36:24,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1732490318] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:24,612 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:24,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 37 [2022-04-28 10:36:24,612 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:24,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [987126797] [2022-04-28 10:36:24,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [987126797] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:24,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:24,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:36:24,612 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1730989713] [2022-04-28 10:36:24,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:24,613 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:36:24,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:24,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:24,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:24,639 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:36:24,639 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:24,639 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:36:24,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1239, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 10:36:24,640 INFO L87 Difference]: Start difference. First operand 364 states and 416 transitions. Second operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:30,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:30,125 INFO L93 Difference]: Finished difference Result 382 states and 437 transitions. [2022-04-28 10:36:30,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:36:30,125 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-28 10:36:30,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:30,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:30,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-28 10:36:30,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:30,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-28 10:36:30,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 84 transitions. [2022-04-28 10:36:30,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:30,196 INFO L225 Difference]: With dead ends: 382 [2022-04-28 10:36:30,196 INFO L226 Difference]: Without dead ends: 376 [2022-04-28 10:36:30,198 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 616 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=232, Invalid=3308, Unknown=0, NotChecked=0, Total=3540 [2022-04-28 10:36:30,198 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 59 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1097 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 1130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 1097 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:30,198 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 143 Invalid, 1130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 1097 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 10:36:30,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-28 10:36:33,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 374. [2022-04-28 10:36:33,822 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:33,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 376 states. Second operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) [2022-04-28 10:36:33,822 INFO L74 IsIncluded]: Start isIncluded. First operand 376 states. Second operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) [2022-04-28 10:36:33,823 INFO L87 Difference]: Start difference. First operand 376 states. Second operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) [2022-04-28 10:36:33,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:33,828 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-28 10:36:33,828 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-28 10:36:33,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:33,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:33,830 INFO L74 IsIncluded]: Start isIncluded. First operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) Second operand 376 states. [2022-04-28 10:36:33,830 INFO L87 Difference]: Start difference. First operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) Second operand 376 states. [2022-04-28 10:36:33,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:33,835 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-28 10:36:33,835 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-28 10:36:33,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:33,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:33,836 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:33,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:33,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 374 states, 320 states have (on average 1.16875) internal successors, (374), 350 states have internal predecessors, (374), 20 states have call successors, (20), 5 states have call predecessors, (20), 33 states have return successors, (35), 18 states have call predecessors, (35), 18 states have call successors, (35) [2022-04-28 10:36:33,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 429 transitions. [2022-04-28 10:36:33,844 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 429 transitions. Word has length 49 [2022-04-28 10:36:33,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:33,844 INFO L495 AbstractCegarLoop]: Abstraction has 374 states and 429 transitions. [2022-04-28 10:36:33,844 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 21 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:33,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 374 states and 429 transitions. [2022-04-28 10:36:34,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 429 edges. 429 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:34,699 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 429 transitions. [2022-04-28 10:36:34,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:36:34,701 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:34,701 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:36:34,717 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:34,901 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable55,47 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:34,901 INFO L420 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:34,902 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:34,902 INFO L85 PathProgramCache]: Analyzing trace with hash -1431154964, now seen corresponding path program 93 times [2022-04-28 10:36:34,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:34,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [568887060] [2022-04-28 10:36:34,904 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:34,904 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:34,904 INFO L85 PathProgramCache]: Analyzing trace with hash -1431154964, now seen corresponding path program 94 times [2022-04-28 10:36:34,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:34,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241442945] [2022-04-28 10:36:34,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:34,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:34,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:34,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:34,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:34,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {84484#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {84443#true} is VALID [2022-04-28 10:36:34,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-28 10:36:34,948 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-28 10:36:34,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:34,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:35,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,072 INFO L290 TraceCheckUtils]: 3: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84486#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:36:35,073 INFO L290 TraceCheckUtils]: 4: Hoare triple {84486#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84487#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,073 INFO L290 TraceCheckUtils]: 5: Hoare triple {84487#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84488#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,074 INFO L290 TraceCheckUtils]: 6: Hoare triple {84488#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84489#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:36:35,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {84489#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84490#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {84490#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84491#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {84491#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84492#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:36:35,076 INFO L290 TraceCheckUtils]: 10: Hoare triple {84492#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,076 INFO L290 TraceCheckUtils]: 11: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,077 INFO L290 TraceCheckUtils]: 15: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,078 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {84443#true} #111#return; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:35,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:36:35,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:35,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84495#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:36:35,270 INFO L290 TraceCheckUtils]: 4: Hoare triple {84495#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84496#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {84496#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84497#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {84497#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84498#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:36:35,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {84498#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84499#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:36:35,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {84499#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84500#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {84500#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84501#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:36:35,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {84501#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84502#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {84502#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,275 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {84465#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {84444#false} is VALID [2022-04-28 10:36:35,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {84443#true} call ULTIMATE.init(); {84484#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:36:35,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {84484#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {84443#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {84443#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L272 TraceCheckUtils]: 7: Hoare triple {84443#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:35,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,277 INFO L290 TraceCheckUtils]: 10: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:36:35,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {84485#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84486#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:36:35,278 INFO L290 TraceCheckUtils]: 12: Hoare triple {84486#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84487#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {84487#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84488#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,279 INFO L290 TraceCheckUtils]: 14: Hoare triple {84488#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84489#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:36:35,280 INFO L290 TraceCheckUtils]: 15: Hoare triple {84489#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84490#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,280 INFO L290 TraceCheckUtils]: 16: Hoare triple {84490#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84491#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:35,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {84491#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84492#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:36:35,281 INFO L290 TraceCheckUtils]: 18: Hoare triple {84492#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,281 INFO L290 TraceCheckUtils]: 19: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,281 INFO L290 TraceCheckUtils]: 20: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:35,283 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {84443#true} #111#return; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:35,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:35,283 INFO L272 TraceCheckUtils]: 26: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:35,284 INFO L290 TraceCheckUtils]: 27: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,284 INFO L290 TraceCheckUtils]: 28: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,285 INFO L290 TraceCheckUtils]: 30: Hoare triple {84494#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84495#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:36:35,285 INFO L290 TraceCheckUtils]: 31: Hoare triple {84495#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84496#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,286 INFO L290 TraceCheckUtils]: 32: Hoare triple {84496#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84497#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,286 INFO L290 TraceCheckUtils]: 33: Hoare triple {84497#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84498#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:36:35,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {84498#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84499#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:36:35,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {84499#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84500#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,288 INFO L290 TraceCheckUtils]: 36: Hoare triple {84500#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84501#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:36:35,288 INFO L290 TraceCheckUtils]: 37: Hoare triple {84501#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84502#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:35,289 INFO L290 TraceCheckUtils]: 38: Hoare triple {84502#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,289 INFO L290 TraceCheckUtils]: 41: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,290 INFO L290 TraceCheckUtils]: 42: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,290 INFO L290 TraceCheckUtils]: 43: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:35,290 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {84465#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L290 TraceCheckUtils]: 45: Hoare triple {84444#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L272 TraceCheckUtils]: 46: Hoare triple {84444#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-28 10:36:35,291 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:35,291 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:35,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241442945] [2022-04-28 10:36:35,291 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1241442945] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:35,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [881414588] [2022-04-28 10:36:35,291 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:36:35,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:35,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:35,292 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:35,293 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-04-28 10:36:35,355 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:36:35,355 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:35,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 10:36:35,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:35,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:36,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {84443#true} call ULTIMATE.init(); {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {84443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {84443#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {84443#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {84443#true} is VALID [2022-04-28 10:36:36,430 INFO L272 TraceCheckUtils]: 7: Hoare triple {84443#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:36,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,431 INFO L290 TraceCheckUtils]: 10: Hoare triple {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {84531#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84541#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,432 INFO L290 TraceCheckUtils]: 12: Hoare triple {84541#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84545#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {84545#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84549#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {84549#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84553#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {84553#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84557#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {84557#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84561#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {84561#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84565#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 7)) |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {84565#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 7)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,436 INFO L290 TraceCheckUtils]: 19: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,436 INFO L290 TraceCheckUtils]: 21: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,436 INFO L290 TraceCheckUtils]: 22: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:36,437 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {84443#true} #111#return; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:36,438 INFO L290 TraceCheckUtils]: 25: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:36,438 INFO L272 TraceCheckUtils]: 26: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:36,438 INFO L290 TraceCheckUtils]: 27: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,438 INFO L290 TraceCheckUtils]: 28: Hoare triple {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,439 INFO L290 TraceCheckUtils]: 29: Hoare triple {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,439 INFO L290 TraceCheckUtils]: 30: Hoare triple {84596#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84606#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:36:36,440 INFO L290 TraceCheckUtils]: 31: Hoare triple {84606#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84610#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,440 INFO L290 TraceCheckUtils]: 32: Hoare triple {84610#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84614#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,441 INFO L290 TraceCheckUtils]: 33: Hoare triple {84614#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84618#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:36:36,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {84618#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84622#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:36:36,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {84622#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84626#(and (<= student_version_~m |student_version_#in~m|) (<= (* 6 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:36:36,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {84626#(and (<= student_version_~m |student_version_#in~m|) (<= (* 6 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84630#(and (<= |student_version_#in~a| (div student_version_~l~1 7)) (<= student_version_~m |student_version_#in~m|))} is VALID [2022-04-28 10:36:36,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {84630#(and (<= |student_version_#in~a| (div student_version_~l~1 7)) (<= student_version_~m |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,443 INFO L290 TraceCheckUtils]: 38: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,444 INFO L290 TraceCheckUtils]: 40: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,444 INFO L290 TraceCheckUtils]: 41: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,444 INFO L290 TraceCheckUtils]: 42: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,444 INFO L290 TraceCheckUtils]: 43: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:36,445 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {84465#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {84444#false} is VALID [2022-04-28 10:36:36,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {84444#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {84444#false} is VALID [2022-04-28 10:36:36,445 INFO L272 TraceCheckUtils]: 46: Hoare triple {84444#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {84444#false} is VALID [2022-04-28 10:36:36,445 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-28 10:36:36,445 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-28 10:36:36,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-28 10:36:36,446 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:36,446 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:38,201 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-28 10:36:38,201 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-28 10:36:38,201 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-28 10:36:38,201 INFO L272 TraceCheckUtils]: 46: Hoare triple {84444#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {84444#false} is VALID [2022-04-28 10:36:38,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {84444#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {84444#false} is VALID [2022-04-28 10:36:38,202 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {84465#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {84444#false} is VALID [2022-04-28 10:36:38,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,203 INFO L290 TraceCheckUtils]: 42: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,203 INFO L290 TraceCheckUtils]: 41: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,203 INFO L290 TraceCheckUtils]: 40: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,203 INFO L290 TraceCheckUtils]: 39: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {84709#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84503#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:36:38,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {84713#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84709#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:36:38,205 INFO L290 TraceCheckUtils]: 35: Hoare triple {84717#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84713#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:36:38,206 INFO L290 TraceCheckUtils]: 34: Hoare triple {84721#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84717#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:36:38,206 INFO L290 TraceCheckUtils]: 33: Hoare triple {84725#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84721#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {84729#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84725#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|))} is VALID [2022-04-28 10:36:38,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {84733#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84729#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {84733#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,208 INFO L290 TraceCheckUtils]: 29: Hoare triple {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} assume !(~b~1 < ~n); {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,208 INFO L290 TraceCheckUtils]: 28: Hoare triple {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,209 INFO L290 TraceCheckUtils]: 27: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {84737#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:36:38,209 INFO L272 TraceCheckUtils]: 26: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:38,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {84465#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:38,210 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {84443#true} #111#return; {84465#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-28 10:36:38,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,210 INFO L290 TraceCheckUtils]: 22: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,210 INFO L290 TraceCheckUtils]: 21: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,211 INFO L290 TraceCheckUtils]: 19: Hoare triple {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,211 INFO L290 TraceCheckUtils]: 18: Hoare triple {84774#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {84493#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-28 10:36:38,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {84778#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84774#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-28 10:36:38,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {84782#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84778#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:36:38,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {84786#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84782#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {84790#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84786#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {84794#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84790#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {84798#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84794#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:36:38,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {84798#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:36:38,215 INFO L290 TraceCheckUtils]: 10: Hoare triple {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {84443#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {84802#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)))} is VALID [2022-04-28 10:36:38,216 INFO L272 TraceCheckUtils]: 7: Hoare triple {84443#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L290 TraceCheckUtils]: 6: Hoare triple {84443#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {84443#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {84443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {84443#true} is VALID [2022-04-28 10:36:38,216 INFO L272 TraceCheckUtils]: 0: Hoare triple {84443#true} call ULTIMATE.init(); {84443#true} is VALID [2022-04-28 10:36:38,217 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 8 proven. 56 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:38,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [881414588] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:38,217 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:38,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-28 10:36:38,217 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:38,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [568887060] [2022-04-28 10:36:38,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [568887060] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:38,217 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:38,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:36:38,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [449026780] [2022-04-28 10:36:38,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:38,218 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:36:38,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:38,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:38,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:38,248 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:36:38,248 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:38,248 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:36:38,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-28 10:36:38,249 INFO L87 Difference]: Start difference. First operand 374 states and 429 transitions. Second operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:46,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:46,672 INFO L93 Difference]: Finished difference Result 442 states and 510 transitions. [2022-04-28 10:36:46,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:36:46,672 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:36:46,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:46,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:46,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 162 transitions. [2022-04-28 10:36:46,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:46,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 162 transitions. [2022-04-28 10:36:46,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 162 transitions. [2022-04-28 10:36:46,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:46,811 INFO L225 Difference]: With dead ends: 442 [2022-04-28 10:36:46,811 INFO L226 Difference]: Without dead ends: 428 [2022-04-28 10:36:46,813 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 722 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=308, Invalid=5094, Unknown=0, NotChecked=0, Total=5402 [2022-04-28 10:36:46,814 INFO L413 NwaCegarLoop]: 96 mSDtfsCounter, 190 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 2609 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 201 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 2633 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 2609 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:46,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [201 Valid, 193 Invalid, 2633 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 2609 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 10:36:46,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-28 10:36:51,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 419. [2022-04-28 10:36:51,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:51,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) [2022-04-28 10:36:51,058 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) [2022-04-28 10:36:51,058 INFO L87 Difference]: Start difference. First operand 428 states. Second operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) [2022-04-28 10:36:51,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:51,065 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-28 10:36:51,065 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-28 10:36:51,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:51,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:51,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) Second operand 428 states. [2022-04-28 10:36:51,067 INFO L87 Difference]: Start difference. First operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) Second operand 428 states. [2022-04-28 10:36:51,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:51,074 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-28 10:36:51,074 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-28 10:36:51,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:51,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:51,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:51,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:51,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 419 states, 359 states have (on average 1.1671309192200556) internal successors, (419), 393 states have internal predecessors, (419), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (41), 20 states have call predecessors, (41), 20 states have call successors, (41) [2022-04-28 10:36:51,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 419 states to 419 states and 482 transitions. [2022-04-28 10:36:51,084 INFO L78 Accepts]: Start accepts. Automaton has 419 states and 482 transitions. Word has length 50 [2022-04-28 10:36:51,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:51,084 INFO L495 AbstractCegarLoop]: Abstraction has 419 states and 482 transitions. [2022-04-28 10:36:51,084 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:51,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 419 states and 482 transitions. [2022-04-28 10:36:52,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 482 edges. 482 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:52,072 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 482 transitions. [2022-04-28 10:36:52,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:36:52,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:52,074 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:36:52,090 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-28 10:36:52,274 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable56,48 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:52,274 INFO L420 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:52,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:52,275 INFO L85 PathProgramCache]: Analyzing trace with hash -522394929, now seen corresponding path program 95 times [2022-04-28 10:36:52,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:52,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1461738135] [2022-04-28 10:36:52,289 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:52,289 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:52,289 INFO L85 PathProgramCache]: Analyzing trace with hash -522394929, now seen corresponding path program 96 times [2022-04-28 10:36:52,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:52,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90754180] [2022-04-28 10:36:52,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:52,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:52,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:52,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:52,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:52,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {87492#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {87451#true} is VALID [2022-04-28 10:36:52,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-28 10:36:52,324 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-28 10:36:52,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:52,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:52,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87494#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {87494#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87495#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {87495#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87496#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,469 INFO L290 TraceCheckUtils]: 6: Hoare triple {87496#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87497#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {87497#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87498#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:36:52,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {87498#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87499#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {87499#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87500#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {87500#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87501#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:36:52,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {87501#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,485 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {87451#true} #111#return; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:52,485 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:36:52,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:52,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,657 INFO L290 TraceCheckUtils]: 3: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87504#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:36:52,658 INFO L290 TraceCheckUtils]: 4: Hoare triple {87504#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87505#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:36:52,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {87505#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87506#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:36:52,659 INFO L290 TraceCheckUtils]: 6: Hoare triple {87506#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87507#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:36:52,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {87507#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87508#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:36:52,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {87508#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87509#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:36:52,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {87509#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87510#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:52,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {87510#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {87452#false} is VALID [2022-04-28 10:36:52,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {87451#true} call ULTIMATE.init(); {87492#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:36:52,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {87492#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {87451#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L290 TraceCheckUtils]: 6: Hoare triple {87451#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {87451#true} is VALID [2022-04-28 10:36:52,665 INFO L272 TraceCheckUtils]: 7: Hoare triple {87451#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:52,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,668 INFO L290 TraceCheckUtils]: 10: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {87493#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87494#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {87494#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87495#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {87495#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87496#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {87496#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87497#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {87497#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87498#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:36:52,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {87498#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87499#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {87499#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87500#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:52,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {87500#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87501#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:36:52,672 INFO L290 TraceCheckUtils]: 19: Hoare triple {87501#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,673 INFO L290 TraceCheckUtils]: 23: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,674 INFO L290 TraceCheckUtils]: 24: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:52,674 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {87451#true} #111#return; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:52,675 INFO L290 TraceCheckUtils]: 26: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:52,675 INFO L272 TraceCheckUtils]: 27: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:52,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,676 INFO L290 TraceCheckUtils]: 29: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,676 INFO L290 TraceCheckUtils]: 30: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:36:52,677 INFO L290 TraceCheckUtils]: 31: Hoare triple {87503#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87504#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:36:52,677 INFO L290 TraceCheckUtils]: 32: Hoare triple {87504#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87505#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:36:52,678 INFO L290 TraceCheckUtils]: 33: Hoare triple {87505#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87506#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:36:52,678 INFO L290 TraceCheckUtils]: 34: Hoare triple {87506#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87507#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:36:52,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {87507#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87508#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:36:52,679 INFO L290 TraceCheckUtils]: 36: Hoare triple {87508#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87509#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:36:52,680 INFO L290 TraceCheckUtils]: 37: Hoare triple {87509#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87510#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:36:52,680 INFO L290 TraceCheckUtils]: 38: Hoare triple {87510#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,681 INFO L290 TraceCheckUtils]: 39: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,681 INFO L290 TraceCheckUtils]: 40: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,681 INFO L290 TraceCheckUtils]: 41: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,681 INFO L290 TraceCheckUtils]: 42: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,682 INFO L290 TraceCheckUtils]: 43: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:52,683 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L290 TraceCheckUtils]: 45: Hoare triple {87452#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L272 TraceCheckUtils]: 46: Hoare triple {87452#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-28 10:36:52,683 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:52,683 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:52,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90754180] [2022-04-28 10:36:52,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [90754180] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:52,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [692103673] [2022-04-28 10:36:52,684 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:36:52,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:52,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:52,687 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:52,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2022-04-28 10:36:52,758 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:36:52,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:52,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 10:36:52,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:52,773 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:53,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {87451#true} call ULTIMATE.init(); {87451#true} is VALID [2022-04-28 10:36:53,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {87451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {87451#true} is VALID [2022-04-28 10:36:53,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-28 10:36:53,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-28 10:36:53,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-28 10:36:53,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {87451#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {87451#true} is VALID [2022-04-28 10:36:53,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {87451#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {87451#true} is VALID [2022-04-28 10:36:53,818 INFO L272 TraceCheckUtils]: 7: Hoare triple {87451#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:53,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,819 INFO L290 TraceCheckUtils]: 10: Hoare triple {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,820 INFO L290 TraceCheckUtils]: 11: Hoare triple {87539#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87549#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,821 INFO L290 TraceCheckUtils]: 12: Hoare triple {87549#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87553#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {87553#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87557#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {87557#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87561#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,822 INFO L290 TraceCheckUtils]: 15: Hoare triple {87561#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87565#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:36:53,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {87565#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87569#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 6 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:36:53,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {87569#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 6 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87573#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 7)))} is VALID [2022-04-28 10:36:53,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {87573#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 7)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,825 INFO L290 TraceCheckUtils]: 22: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,825 INFO L290 TraceCheckUtils]: 23: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:53,826 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {87451#true} #111#return; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:53,826 INFO L290 TraceCheckUtils]: 26: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:53,826 INFO L272 TraceCheckUtils]: 27: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:53,827 INFO L290 TraceCheckUtils]: 28: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,827 INFO L290 TraceCheckUtils]: 30: Hoare triple {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {87607#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87617#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {87617#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87621#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:36:53,829 INFO L290 TraceCheckUtils]: 33: Hoare triple {87621#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87625#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {87625#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87629#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {87629#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87633#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:36:53,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {87633#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87637#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:36:53,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {87637#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87641#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 7)) |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,831 INFO L290 TraceCheckUtils]: 38: Hoare triple {87641#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 7)) |student_version_#in~a|))} assume !(~l~1 < ~m); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,832 INFO L290 TraceCheckUtils]: 40: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:53,833 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {87452#false} is VALID [2022-04-28 10:36:53,833 INFO L290 TraceCheckUtils]: 45: Hoare triple {87452#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {87452#false} is VALID [2022-04-28 10:36:53,833 INFO L272 TraceCheckUtils]: 46: Hoare triple {87452#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {87452#false} is VALID [2022-04-28 10:36:53,833 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-28 10:36:53,833 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-28 10:36:53,834 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-28 10:36:53,834 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:53,834 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:55,591 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-28 10:36:55,591 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-28 10:36:55,591 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-28 10:36:55,592 INFO L272 TraceCheckUtils]: 46: Hoare triple {87452#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {87452#false} is VALID [2022-04-28 10:36:55,592 INFO L290 TraceCheckUtils]: 45: Hoare triple {87452#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {87452#false} is VALID [2022-04-28 10:36:55,592 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {87452#false} is VALID [2022-04-28 10:36:55,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,593 INFO L290 TraceCheckUtils]: 42: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,593 INFO L290 TraceCheckUtils]: 41: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,593 INFO L290 TraceCheckUtils]: 40: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {87714#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {87511#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-28 10:36:55,594 INFO L290 TraceCheckUtils]: 37: Hoare triple {87718#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87714#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:36:55,595 INFO L290 TraceCheckUtils]: 36: Hoare triple {87722#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87718#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:36:55,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {87726#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87722#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:36:55,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {87730#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87726#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,597 INFO L290 TraceCheckUtils]: 33: Hoare triple {87734#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87730#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:36:55,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {87738#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87734#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,598 INFO L290 TraceCheckUtils]: 31: Hoare triple {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {87738#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} assume !(~b~1 < ~n); {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,598 INFO L290 TraceCheckUtils]: 29: Hoare triple {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,598 INFO L290 TraceCheckUtils]: 28: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {87742#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:36:55,599 INFO L272 TraceCheckUtils]: 27: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:55,599 INFO L290 TraceCheckUtils]: 26: Hoare triple {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:55,599 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {87451#true} #111#return; {87474#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-28 10:36:55,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,601 INFO L290 TraceCheckUtils]: 21: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {87782#(or (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87502#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:36:55,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {87786#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87782#(or (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:36:55,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {87790#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87786#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {87794#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87790#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {87798#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87794#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {87802#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87798#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {87806#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87802#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {87806#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {87451#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {87810#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:36:55,606 INFO L272 TraceCheckUtils]: 7: Hoare triple {87451#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {87451#true} is VALID [2022-04-28 10:36:55,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {87451#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {87451#true} is VALID [2022-04-28 10:36:55,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {87451#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {87451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {87451#true} call ULTIMATE.init(); {87451#true} is VALID [2022-04-28 10:36:55,607 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 8 proven. 56 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:36:55,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [692103673] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:55,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:55,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-28 10:36:55,607 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:55,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1461738135] [2022-04-28 10:36:55,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1461738135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:55,608 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:55,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:36:55,608 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [715594200] [2022-04-28 10:36:55,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:55,608 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:36:55,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:55,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:36:55,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:55,640 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:36:55,640 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:55,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:36:55,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-28 10:36:55,640 INFO L87 Difference]: Start difference. First operand 419 states and 482 transitions. Second operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:04,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:04,364 INFO L93 Difference]: Finished difference Result 434 states and 497 transitions. [2022-04-28 10:37:04,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:37:04,364 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:37:04,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:04,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:04,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 161 transitions. [2022-04-28 10:37:04,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:04,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 161 transitions. [2022-04-28 10:37:04,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 161 transitions. [2022-04-28 10:37:04,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:04,496 INFO L225 Difference]: With dead ends: 434 [2022-04-28 10:37:04,496 INFO L226 Difference]: Without dead ends: 422 [2022-04-28 10:37:04,500 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 733 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=308, Invalid=5094, Unknown=0, NotChecked=0, Total=5402 [2022-04-28 10:37:04,500 INFO L413 NwaCegarLoop]: 98 mSDtfsCounter, 197 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 2781 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 212 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 2804 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 2781 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:04,500 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [212 Valid, 200 Invalid, 2804 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 2781 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 10:37:04,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 422 states. [2022-04-28 10:37:08,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 422 to 420. [2022-04-28 10:37:08,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:08,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 422 states. Second operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:08,831 INFO L74 IsIncluded]: Start isIncluded. First operand 422 states. Second operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:08,831 INFO L87 Difference]: Start difference. First operand 422 states. Second operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:08,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:08,838 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-28 10:37:08,838 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-28 10:37:08,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:08,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:08,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 422 states. [2022-04-28 10:37:08,840 INFO L87 Difference]: Start difference. First operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 422 states. [2022-04-28 10:37:08,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:08,847 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-28 10:37:08,847 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-28 10:37:08,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:08,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:08,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:08,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:08,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 420 states, 360 states have (on average 1.1666666666666667) internal successors, (420), 394 states have internal predecessors, (420), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:08,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 420 states to 420 states and 480 transitions. [2022-04-28 10:37:08,857 INFO L78 Accepts]: Start accepts. Automaton has 420 states and 480 transitions. Word has length 50 [2022-04-28 10:37:08,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:08,857 INFO L495 AbstractCegarLoop]: Abstraction has 420 states and 480 transitions. [2022-04-28 10:37:08,857 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.826086956521739) internal successors, (42), 22 states have internal predecessors, (42), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:08,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 420 states and 480 transitions. [2022-04-28 10:37:09,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 480 edges. 480 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:09,859 INFO L276 IsEmpty]: Start isEmpty. Operand 420 states and 480 transitions. [2022-04-28 10:37:09,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:37:09,861 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:09,861 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:37:09,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:10,061 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 49 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable57 [2022-04-28 10:37:10,062 INFO L420 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:10,062 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:10,062 INFO L85 PathProgramCache]: Analyzing trace with hash 96500781, now seen corresponding path program 97 times [2022-04-28 10:37:10,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:10,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [580348664] [2022-04-28 10:37:10,064 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:10,064 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:10,064 INFO L85 PathProgramCache]: Analyzing trace with hash 96500781, now seen corresponding path program 98 times [2022-04-28 10:37:10,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:10,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819872822] [2022-04-28 10:37:10,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:10,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:10,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:10,087 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:10,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:10,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {90473#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {90433#true} is VALID [2022-04-28 10:37:10,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,091 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-28 10:37:10,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:10,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:10,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 4: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 6: Hoare triple {90433#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 10: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 11: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 12: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,096 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-28 10:37:10,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:37:10,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:10,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {90474#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:37:10,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {90474#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90475#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:37:10,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {90475#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90476#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:37:10,172 INFO L290 TraceCheckUtils]: 3: Hoare triple {90476#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90477#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:37:10,172 INFO L290 TraceCheckUtils]: 4: Hoare triple {90477#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {90478#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {90478#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-28 10:37:10,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:37:10,174 INFO L290 TraceCheckUtils]: 10: Hoare triple {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:37:10,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:37:10,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90483#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:37:10,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {90483#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90434#false} is VALID [2022-04-28 10:37:10,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-28 10:37:10,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-28 10:37:10,176 INFO L290 TraceCheckUtils]: 16: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-28 10:37:10,176 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-28 10:37:10,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {90433#true} call ULTIMATE.init(); {90473#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:37:10,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {90473#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {90433#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {90433#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L272 TraceCheckUtils]: 7: Hoare triple {90433#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {90433#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {90433#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L272 TraceCheckUtils]: 26: Hoare triple {90433#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {90474#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:37:10,179 INFO L290 TraceCheckUtils]: 28: Hoare triple {90474#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90475#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:37:10,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {90475#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90476#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:37:10,180 INFO L290 TraceCheckUtils]: 30: Hoare triple {90476#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90477#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:37:10,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {90477#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,181 INFO L290 TraceCheckUtils]: 33: Hoare triple {90478#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {90478#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-28 10:37:10,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:37:10,182 INFO L290 TraceCheckUtils]: 37: Hoare triple {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:37:10,183 INFO L290 TraceCheckUtils]: 38: Hoare triple {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:37:10,183 INFO L290 TraceCheckUtils]: 39: Hoare triple {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90483#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:37:10,183 INFO L290 TraceCheckUtils]: 40: Hoare triple {90483#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90434#false} is VALID [2022-04-28 10:37:10,183 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-28 10:37:10,183 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L290 TraceCheckUtils]: 45: Hoare triple {90434#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L272 TraceCheckUtils]: 46: Hoare triple {90434#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-28 10:37:10,184 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:10,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:10,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819872822] [2022-04-28 10:37:10,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [819872822] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:10,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [817030112] [2022-04-28 10:37:10,184 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:37:10,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:10,185 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:10,187 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:10,188 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2022-04-28 10:37:10,266 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:37:10,267 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:10,268 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 10:37:10,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:10,278 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:10,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {90433#true} call ULTIMATE.init(); {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {90433#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {90433#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {90433#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L272 TraceCheckUtils]: 7: Hoare triple {90433#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {90433#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 17: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 18: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L290 TraceCheckUtils]: 25: Hoare triple {90433#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {90433#true} is VALID [2022-04-28 10:37:10,466 INFO L272 TraceCheckUtils]: 26: Hoare triple {90433#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,467 INFO L290 TraceCheckUtils]: 27: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {90474#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:37:10,467 INFO L290 TraceCheckUtils]: 28: Hoare triple {90474#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90475#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:37:10,468 INFO L290 TraceCheckUtils]: 29: Hoare triple {90475#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90476#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:37:10,468 INFO L290 TraceCheckUtils]: 30: Hoare triple {90476#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90477#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:37:10,468 INFO L290 TraceCheckUtils]: 31: Hoare triple {90477#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,469 INFO L290 TraceCheckUtils]: 32: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,469 INFO L290 TraceCheckUtils]: 33: Hoare triple {90478#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,469 INFO L290 TraceCheckUtils]: 34: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {90478#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {90592#(and (<= student_version_~i~1 4) (<= 0 student_version_~x~1))} is VALID [2022-04-28 10:37:10,470 INFO L290 TraceCheckUtils]: 36: Hoare triple {90592#(and (<= student_version_~i~1 4) (<= 0 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90596#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:37:10,470 INFO L290 TraceCheckUtils]: 37: Hoare triple {90596#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90600#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:37:10,471 INFO L290 TraceCheckUtils]: 38: Hoare triple {90600#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90604#(and (<= student_version_~i~1 4) (<= 3 student_version_~x~1))} is VALID [2022-04-28 10:37:10,471 INFO L290 TraceCheckUtils]: 39: Hoare triple {90604#(and (<= student_version_~i~1 4) (<= 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90608#(and (<= 4 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 40: Hoare triple {90608#(and (<= 4 student_version_~x~1) (<= student_version_~i~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 45: Hoare triple {90434#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L272 TraceCheckUtils]: 46: Hoare triple {90434#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-28 10:37:10,472 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:10,473 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:10,622 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-28 10:37:10,622 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L272 TraceCheckUtils]: 46: Hoare triple {90434#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 45: Hoare triple {90434#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-28 10:37:10,623 INFO L290 TraceCheckUtils]: 40: Hoare triple {90483#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90434#false} is VALID [2022-04-28 10:37:10,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90483#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-28 10:37:10,624 INFO L290 TraceCheckUtils]: 38: Hoare triple {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90482#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-28 10:37:10,625 INFO L290 TraceCheckUtils]: 37: Hoare triple {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90481#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-28 10:37:10,625 INFO L290 TraceCheckUtils]: 36: Hoare triple {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {90480#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-28 10:37:10,625 INFO L290 TraceCheckUtils]: 35: Hoare triple {90478#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {90479#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-28 10:37:10,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {90478#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {90478#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {90477#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90478#(<= student_version_~i~1 4)} is VALID [2022-04-28 10:37:10,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {90476#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90477#(<= student_version_~i~1 3)} is VALID [2022-04-28 10:37:10,627 INFO L290 TraceCheckUtils]: 29: Hoare triple {90475#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90476#(<= student_version_~i~1 2)} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 28: Hoare triple {90474#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {90475#(<= student_version_~i~1 1)} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {90474#(<= student_version_~i~1 0)} is VALID [2022-04-28 10:37:10,628 INFO L272 TraceCheckUtils]: 26: Hoare triple {90433#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 25: Hoare triple {90433#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-28 10:37:10,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 17: Hoare triple {90433#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {90433#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 10: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {90433#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {90433#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L272 TraceCheckUtils]: 7: Hoare triple {90433#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {90433#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {90433#true} is VALID [2022-04-28 10:37:10,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {90433#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {90433#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {90433#true} call ULTIMATE.init(); {90433#true} is VALID [2022-04-28 10:37:10,630 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:10,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [817030112] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:10,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:10,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-28 10:37:10,630 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:10,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [580348664] [2022-04-28 10:37:10,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [580348664] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:10,630 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:10,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:37:10,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [794751098] [2022-04-28 10:37:10,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:10,631 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 50 [2022-04-28 10:37:10,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:10,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:37:10,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:10,654 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:37:10,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:10,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:37:10,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:37:10,655 INFO L87 Difference]: Start difference. First operand 420 states and 480 transitions. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:37:16,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:16,462 INFO L93 Difference]: Finished difference Result 540 states and 625 transitions. [2022-04-28 10:37:16,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 10:37:16,462 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 50 [2022-04-28 10:37:16,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:16,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:37:16,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-28 10:37:16,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:37:16,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-28 10:37:16,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 95 transitions. [2022-04-28 10:37:16,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:16,538 INFO L225 Difference]: With dead ends: 540 [2022-04-28 10:37:16,538 INFO L226 Difference]: Without dead ends: 502 [2022-04-28 10:37:16,541 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 275 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=363, Invalid=1043, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 10:37:16,542 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 81 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:16,542 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [84 Valid, 66 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 206 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:37:16,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 502 states. [2022-04-28 10:37:21,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 502 to 478. [2022-04-28 10:37:21,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:21,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 502 states. Second operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:21,646 INFO L74 IsIncluded]: Start isIncluded. First operand 502 states. Second operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:21,646 INFO L87 Difference]: Start difference. First operand 502 states. Second operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:21,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:21,656 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-28 10:37:21,656 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-28 10:37:21,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:21,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:21,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 502 states. [2022-04-28 10:37:21,658 INFO L87 Difference]: Start difference. First operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 502 states. [2022-04-28 10:37:21,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:21,667 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-28 10:37:21,667 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-28 10:37:21,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:21,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:21,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:21,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:21,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 478 states, 418 states have (on average 1.1650717703349283) internal successors, (487), 452 states have internal predecessors, (487), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:21,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 478 states to 478 states and 547 transitions. [2022-04-28 10:37:21,680 INFO L78 Accepts]: Start accepts. Automaton has 478 states and 547 transitions. Word has length 50 [2022-04-28 10:37:21,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:21,680 INFO L495 AbstractCegarLoop]: Abstraction has 478 states and 547 transitions. [2022-04-28 10:37:21,680 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:37:21,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 478 states and 547 transitions. [2022-04-28 10:37:22,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 547 edges. 547 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:22,833 INFO L276 IsEmpty]: Start isEmpty. Operand 478 states and 547 transitions. [2022-04-28 10:37:22,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:37:22,836 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:22,836 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:37:22,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:23,036 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable58 [2022-04-28 10:37:23,036 INFO L420 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:23,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:23,037 INFO L85 PathProgramCache]: Analyzing trace with hash -2133989358, now seen corresponding path program 99 times [2022-04-28 10:37:23,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:23,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1928251243] [2022-04-28 10:37:23,039 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:23,039 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:23,039 INFO L85 PathProgramCache]: Analyzing trace with hash -2133989358, now seen corresponding path program 100 times [2022-04-28 10:37:23,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:23,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [650145412] [2022-04-28 10:37:23,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:23,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:23,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:23,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:23,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:23,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {93908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {93868#true} is VALID [2022-04-28 10:37:23,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,062 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-28 10:37:23,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:23,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:23,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {93909#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:37:23,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {93909#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93910#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:37:23,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {93910#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93911#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:37:23,132 INFO L290 TraceCheckUtils]: 3: Hoare triple {93911#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93912#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:37:23,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {93912#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {93913#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-28 10:37:23,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:37:23,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:37:23,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:37:23,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93918#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:37:23,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {93918#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93869#false} is VALID [2022-04-28 10:37:23,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-28 10:37:23,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-28 10:37:23,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-28 10:37:23,135 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-28 10:37:23,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:37:23,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 3: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 4: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 6: Hoare triple {93868#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-28 10:37:23,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {93868#true} call ULTIMATE.init(); {93908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {93908#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {93868#true} is VALID [2022-04-28 10:37:23,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {93868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {93868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L272 TraceCheckUtils]: 7: Hoare triple {93868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {93868#true} is VALID [2022-04-28 10:37:23,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {93909#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:37:23,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {93909#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93910#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:37:23,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {93910#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93911#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:37:23,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {93911#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93912#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:37:23,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {93912#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {93913#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-28 10:37:23,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:37:23,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:37:23,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:37:23,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93918#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {93918#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 26: Hoare triple {93869#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {93869#false} is VALID [2022-04-28 10:37:23,150 INFO L272 TraceCheckUtils]: 27: Hoare triple {93869#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {93868#true} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 29: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {93868#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 37: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 38: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 39: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 40: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 41: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,151 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 45: Hoare triple {93869#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {93869#false} is VALID [2022-04-28 10:37:23,151 INFO L272 TraceCheckUtils]: 46: Hoare triple {93869#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {93869#false} is VALID [2022-04-28 10:37:23,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-28 10:37:23,152 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-28 10:37:23,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-28 10:37:23,152 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:23,152 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:23,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [650145412] [2022-04-28 10:37:23,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [650145412] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:23,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [222197813] [2022-04-28 10:37:23,152 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:37:23,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:23,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:23,153 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:23,154 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Waiting until timeout for monitored process [2022-04-28 10:37:23,217 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:37:23,218 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:23,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 10:37:23,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:23,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:23,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {93868#true} call ULTIMATE.init(); {93868#true} is VALID [2022-04-28 10:37:23,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {93868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {93868#true} is VALID [2022-04-28 10:37:23,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-28 10:37:23,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-28 10:37:23,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {93868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {93868#true} is VALID [2022-04-28 10:37:23,412 INFO L290 TraceCheckUtils]: 6: Hoare triple {93868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {93868#true} is VALID [2022-04-28 10:37:23,412 INFO L272 TraceCheckUtils]: 7: Hoare triple {93868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {93868#true} is VALID [2022-04-28 10:37:23,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {93909#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:37:23,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {93909#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93910#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:37:23,413 INFO L290 TraceCheckUtils]: 10: Hoare triple {93910#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93911#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:37:23,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {93911#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93912#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:37:23,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {93912#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,414 INFO L290 TraceCheckUtils]: 13: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,414 INFO L290 TraceCheckUtils]: 15: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,415 INFO L290 TraceCheckUtils]: 16: Hoare triple {93913#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {93970#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:37:23,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {93970#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93974#(and (<= correct_version_~i~0 4) (<= 1 correct_version_~x~0))} is VALID [2022-04-28 10:37:23,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {93974#(and (<= correct_version_~i~0 4) (<= 1 correct_version_~x~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93978#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:37:23,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {93978#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93982#(and (<= correct_version_~i~0 4) (<= 3 correct_version_~x~0))} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {93982#(and (<= correct_version_~i~0 4) (<= 3 correct_version_~x~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93986#(and (<= 4 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {93986#(and (<= 4 correct_version_~x~0) (<= correct_version_~i~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {93869#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L272 TraceCheckUtils]: 27: Hoare triple {93869#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {93869#false} is VALID [2022-04-28 10:37:23,417 INFO L290 TraceCheckUtils]: 28: Hoare triple {93869#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {93869#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {93869#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {93869#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {93869#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {93869#false} assume !(~b~1 < ~n); {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 34: Hoare triple {93869#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {93869#false} assume !(~l~1 < ~m); {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 36: Hoare triple {93869#false} ~x~1 := 0;~y~1 := 0; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {93869#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {93869#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 39: Hoare triple {93869#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 40: Hoare triple {93869#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 41: Hoare triple {93869#false} assume !(~x~1 < ~i~1); {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 42: Hoare triple {93869#false} #res := ~y~1; {93869#false} is VALID [2022-04-28 10:37:23,418 INFO L290 TraceCheckUtils]: 43: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93869#false} {93869#false} #113#return; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L290 TraceCheckUtils]: 45: Hoare triple {93869#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L272 TraceCheckUtils]: 46: Hoare triple {93869#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-28 10:37:23,419 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:23,419 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:23,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-28 10:37:23,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-28 10:37:23,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-28 10:37:23,576 INFO L272 TraceCheckUtils]: 46: Hoare triple {93869#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {93869#false} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 45: Hoare triple {93869#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {93869#false} is VALID [2022-04-28 10:37:23,576 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 43: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 42: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 41: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 37: Hoare triple {93868#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {93868#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-28 10:37:23,576 INFO L290 TraceCheckUtils]: 32: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {93868#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 28: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L272 TraceCheckUtils]: 27: Hoare triple {93869#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {93868#true} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {93869#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {93869#false} is VALID [2022-04-28 10:37:23,577 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-28 10:37:23,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {93918#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93869#false} is VALID [2022-04-28 10:37:23,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93918#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-28 10:37:23,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93917#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-28 10:37:23,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93916#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-28 10:37:23,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {93915#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-28 10:37:23,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {93913#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {93914#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-28 10:37:23,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {93913#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,581 INFO L290 TraceCheckUtils]: 12: Hoare triple {93912#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93913#(<= correct_version_~i~0 4)} is VALID [2022-04-28 10:37:23,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {93911#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93912#(<= correct_version_~i~0 3)} is VALID [2022-04-28 10:37:23,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {93910#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93911#(<= correct_version_~i~0 2)} is VALID [2022-04-28 10:37:23,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {93909#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {93910#(<= correct_version_~i~0 1)} is VALID [2022-04-28 10:37:23,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {93868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {93909#(<= correct_version_~i~0 0)} is VALID [2022-04-28 10:37:23,582 INFO L272 TraceCheckUtils]: 7: Hoare triple {93868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {93868#true} is VALID [2022-04-28 10:37:23,582 INFO L290 TraceCheckUtils]: 6: Hoare triple {93868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {93868#true} is VALID [2022-04-28 10:37:23,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {93868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {93868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {93868#true} call ULTIMATE.init(); {93868#true} is VALID [2022-04-28 10:37:23,583 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 10:37:23,583 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [222197813] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:23,583 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:23,583 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-28 10:37:23,583 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:23,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1928251243] [2022-04-28 10:37:23,583 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1928251243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:23,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:23,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:37:23,584 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046765642] [2022-04-28 10:37:23,584 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:23,584 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:37:23,584 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:23,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:23,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:23,607 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:37:23,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:23,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:37:23,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:37:23,608 INFO L87 Difference]: Start difference. First operand 478 states and 547 transitions. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:30,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:30,087 INFO L93 Difference]: Finished difference Result 857 states and 980 transitions. [2022-04-28 10:37:30,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 10:37:30,087 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-28 10:37:30,087 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:30,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:30,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-28 10:37:30,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:30,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-28 10:37:30,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 108 transitions. [2022-04-28 10:37:30,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:30,185 INFO L225 Difference]: With dead ends: 857 [2022-04-28 10:37:30,185 INFO L226 Difference]: Without dead ends: 560 [2022-04-28 10:37:30,188 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 289 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=363, Invalid=1043, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 10:37:30,189 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 75 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:30,189 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 62 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:37:30,189 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 560 states. [2022-04-28 10:37:35,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 560 to 536. [2022-04-28 10:37:35,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:35,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 560 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:35,875 INFO L74 IsIncluded]: Start isIncluded. First operand 560 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:35,875 INFO L87 Difference]: Start difference. First operand 560 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:35,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:35,886 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-28 10:37:35,886 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-28 10:37:35,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:35,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:35,888 INFO L74 IsIncluded]: Start isIncluded. First operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 560 states. [2022-04-28 10:37:35,889 INFO L87 Difference]: Start difference. First operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) Second operand 560 states. [2022-04-28 10:37:35,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:35,899 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-28 10:37:35,899 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-28 10:37:35,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:35,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:35,901 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:35,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:35,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (38), 20 states have call predecessors, (38), 20 states have call successors, (38) [2022-04-28 10:37:35,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 614 transitions. [2022-04-28 10:37:35,914 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 614 transitions. Word has length 50 [2022-04-28 10:37:35,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:35,914 INFO L495 AbstractCegarLoop]: Abstraction has 536 states and 614 transitions. [2022-04-28 10:37:35,914 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.769230769230769) internal successors, (36), 12 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:35,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 536 states and 614 transitions. [2022-04-28 10:37:37,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 614 edges. 614 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:37,201 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 614 transitions. [2022-04-28 10:37:37,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:37:37,204 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:37,204 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:37:37,221 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-28 10:37:37,404 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable59 [2022-04-28 10:37:37,405 INFO L420 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:37,405 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:37,405 INFO L85 PathProgramCache]: Analyzing trace with hash -33846038, now seen corresponding path program 101 times [2022-04-28 10:37:37,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:37,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [192369974] [2022-04-28 10:37:37,407 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:37,407 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:37,407 INFO L85 PathProgramCache]: Analyzing trace with hash -33846038, now seen corresponding path program 102 times [2022-04-28 10:37:37,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:37,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1430403351] [2022-04-28 10:37:37,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:37,407 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:37,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:37,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:37,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:37,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {98216#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98169#true} is VALID [2022-04-28 10:37:37,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-28 10:37:37,482 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-28 10:37:37,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:37,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:37,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:37:37,663 INFO L290 TraceCheckUtils]: 4: Hoare triple {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:37:37,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:37:37,664 INFO L290 TraceCheckUtils]: 6: Hoare triple {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:37:37,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:37:37,666 INFO L290 TraceCheckUtils]: 10: Hoare triple {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:37,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:37,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:37:37,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:37,667 INFO L290 TraceCheckUtils]: 14: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:37,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:37,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:37,668 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {98169#true} #111#return; {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:37:37,669 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:37:37,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:37,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:37:37,925 INFO L290 TraceCheckUtils]: 4: Hoare triple {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:37:37,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:37:37,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:37:37,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:37:37,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:37:37,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:37:37,928 INFO L290 TraceCheckUtils]: 10: Hoare triple {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:37,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:37,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:37:37,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:37,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:37,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:37,930 INFO L290 TraceCheckUtils]: 16: Hoare triple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:37,931 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {98212#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:37:37,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {98169#true} call ULTIMATE.init(); {98216#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:37:37,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {98216#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {98169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {98169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98169#true} is VALID [2022-04-28 10:37:37,931 INFO L272 TraceCheckUtils]: 7: Hoare triple {98169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:37,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,932 INFO L290 TraceCheckUtils]: 10: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:37:37,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:37:37,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:37:37,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:37:37,935 INFO L290 TraceCheckUtils]: 15: Hoare triple {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,935 INFO L290 TraceCheckUtils]: 16: Hoare triple {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:37:37,935 INFO L290 TraceCheckUtils]: 17: Hoare triple {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:37:37,936 INFO L290 TraceCheckUtils]: 18: Hoare triple {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:37,936 INFO L290 TraceCheckUtils]: 19: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:37,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:37:37,937 INFO L290 TraceCheckUtils]: 21: Hoare triple {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:37,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:37,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:37,938 INFO L290 TraceCheckUtils]: 24: Hoare triple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:37,939 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {98169#true} #111#return; {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:37:37,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:37:37,939 INFO L272 TraceCheckUtils]: 27: Hoare triple {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:37,939 INFO L290 TraceCheckUtils]: 28: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:37,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:37:37,941 INFO L290 TraceCheckUtils]: 32: Hoare triple {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:37:37,949 INFO L290 TraceCheckUtils]: 33: Hoare triple {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:37:37,950 INFO L290 TraceCheckUtils]: 34: Hoare triple {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:37:37,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:37:37,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:37:37,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:37:37,952 INFO L290 TraceCheckUtils]: 38: Hoare triple {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:37,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:37,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:37:37,953 INFO L290 TraceCheckUtils]: 41: Hoare triple {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:37,953 INFO L290 TraceCheckUtils]: 42: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:37,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:37,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:37,955 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {98212#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:37:37,955 INFO L290 TraceCheckUtils]: 46: Hoare triple {98212#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98213#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:37:37,956 INFO L272 TraceCheckUtils]: 47: Hoare triple {98213#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98214#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:37:37,956 INFO L290 TraceCheckUtils]: 48: Hoare triple {98214#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {98215#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:37:37,956 INFO L290 TraceCheckUtils]: 49: Hoare triple {98215#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {98170#false} is VALID [2022-04-28 10:37:37,956 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-28 10:37:37,956 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 74 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:37:37,956 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:37,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1430403351] [2022-04-28 10:37:37,957 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1430403351] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:37,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1465587319] [2022-04-28 10:37:37,957 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:37:37,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:37,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:37,958 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:37,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Waiting until timeout for monitored process [2022-04-28 10:37:38,033 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:37:38,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:38,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-28 10:37:38,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:38,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:38,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {98169#true} call ULTIMATE.init(); {98169#true} is VALID [2022-04-28 10:37:38,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {98169#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98169#true} is VALID [2022-04-28 10:37:38,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-28 10:37:38,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-28 10:37:38,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-28 10:37:38,587 INFO L290 TraceCheckUtils]: 5: Hoare triple {98169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98169#true} is VALID [2022-04-28 10:37:38,587 INFO L290 TraceCheckUtils]: 6: Hoare triple {98169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98169#true} is VALID [2022-04-28 10:37:38,587 INFO L272 TraceCheckUtils]: 7: Hoare triple {98169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:38,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:38,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:38,588 INFO L290 TraceCheckUtils]: 10: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:38,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:37:38,589 INFO L290 TraceCheckUtils]: 12: Hoare triple {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:37:38,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:37:38,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:37:38,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:37:38,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:37:38,591 INFO L290 TraceCheckUtils]: 17: Hoare triple {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:37:38,591 INFO L290 TraceCheckUtils]: 18: Hoare triple {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:38,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:38,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {98304#(and (= correct_version_~y~0 0) (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:38,592 INFO L290 TraceCheckUtils]: 21: Hoare triple {98304#(and (= correct_version_~y~0 0) (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:38,593 INFO L290 TraceCheckUtils]: 22: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:38,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:38,593 INFO L290 TraceCheckUtils]: 24: Hoare triple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:38,594 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {98169#true} #111#return; {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:37:38,594 INFO L290 TraceCheckUtils]: 26: Hoare triple {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:37:38,594 INFO L272 TraceCheckUtils]: 27: Hoare triple {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:38,595 INFO L290 TraceCheckUtils]: 28: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:38,595 INFO L290 TraceCheckUtils]: 29: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:38,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:38,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:37:38,596 INFO L290 TraceCheckUtils]: 32: Hoare triple {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:37:38,597 INFO L290 TraceCheckUtils]: 33: Hoare triple {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:37:38,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:37:38,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:37:38,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:37:38,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:37:38,599 INFO L290 TraceCheckUtils]: 38: Hoare triple {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:38,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:38,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {98365#(and (= student_version_~y~1 0) (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:38,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {98365#(and (= student_version_~y~1 0) (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:38,600 INFO L290 TraceCheckUtils]: 42: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:38,601 INFO L290 TraceCheckUtils]: 43: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:38,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:38,602 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {98381#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-28 10:37:38,602 INFO L290 TraceCheckUtils]: 46: Hoare triple {98381#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98385#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:37:38,603 INFO L272 TraceCheckUtils]: 47: Hoare triple {98385#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:37:38,603 INFO L290 TraceCheckUtils]: 48: Hoare triple {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {98393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:37:38,603 INFO L290 TraceCheckUtils]: 49: Hoare triple {98393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {98170#false} is VALID [2022-04-28 10:37:38,603 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-28 10:37:38,603 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 74 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:37:38,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:39,048 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-28 10:37:39,048 INFO L290 TraceCheckUtils]: 49: Hoare triple {98393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {98170#false} is VALID [2022-04-28 10:37:39,049 INFO L290 TraceCheckUtils]: 48: Hoare triple {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {98393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:37:39,049 INFO L272 TraceCheckUtils]: 47: Hoare triple {98213#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:37:39,050 INFO L290 TraceCheckUtils]: 46: Hoare triple {98212#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98213#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:37:39,051 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {98212#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:37:39,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:39,051 INFO L290 TraceCheckUtils]: 43: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {98240#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:37:39,052 INFO L290 TraceCheckUtils]: 42: Hoare triple {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:39,052 INFO L290 TraceCheckUtils]: 41: Hoare triple {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {98239#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:37:39,052 INFO L290 TraceCheckUtils]: 40: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {98238#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:37:39,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:39,053 INFO L290 TraceCheckUtils]: 38: Hoare triple {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98237#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:37:39,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98236#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:37:39,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98235#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:37:39,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98234#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:37:39,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98233#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:37:39,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98232#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:37:39,056 INFO L290 TraceCheckUtils]: 32: Hoare triple {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98231#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:37:39,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98230#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:37:39,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:39,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:39,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98229#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:37:39,057 INFO L272 TraceCheckUtils]: 27: Hoare triple {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:39,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98193#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:37:39,058 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {98169#true} #111#return; {98192#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:37:39,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:39,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {98228#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:37:39,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:39,060 INFO L290 TraceCheckUtils]: 21: Hoare triple {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {98227#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:37:39,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {98226#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:37:39,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:39,061 INFO L290 TraceCheckUtils]: 18: Hoare triple {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98225#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:37:39,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98224#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:37:39,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98223#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:37:39,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98222#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:37:39,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98221#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:37:39,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98220#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:37:39,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98219#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:37:39,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98218#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:37:39,064 INFO L290 TraceCheckUtils]: 10: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {98169#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98217#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:37:39,065 INFO L272 TraceCheckUtils]: 7: Hoare triple {98169#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {98169#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {98169#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {98169#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98169#true} is VALID [2022-04-28 10:37:39,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {98169#true} call ULTIMATE.init(); {98169#true} is VALID [2022-04-28 10:37:39,066 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 74 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:37:39,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1465587319] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:39,066 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:39,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 39 [2022-04-28 10:37:39,066 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:39,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [192369974] [2022-04-28 10:37:39,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [192369974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:39,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:39,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 10:37:39,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543575313] [2022-04-28 10:37:39,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:39,067 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:37:39,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:39,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:39,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:39,098 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 10:37:39,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:39,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 10:37:39,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1397, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:37:39,099 INFO L87 Difference]: Start difference. First operand 536 states and 614 transitions. Second operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:52,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:52,183 INFO L93 Difference]: Finished difference Result 628 states and 719 transitions. [2022-04-28 10:37:52,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 10:37:52,184 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:37:52,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:52,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:52,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-28 10:37:52,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:52,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-28 10:37:52,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 190 transitions. [2022-04-28 10:37:52,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:52,364 INFO L225 Difference]: With dead ends: 628 [2022-04-28 10:37:52,364 INFO L226 Difference]: Without dead ends: 622 [2022-04-28 10:37:52,366 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 96 SyntacticMatches, 5 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 658 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=238, Invalid=4592, Unknown=0, NotChecked=0, Total=4830 [2022-04-28 10:37:52,366 INFO L413 NwaCegarLoop]: 101 mSDtfsCounter, 219 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 4540 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 228 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 4586 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 4540 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:52,366 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [228 Valid, 253 Invalid, 4586 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 4540 Invalid, 0 Unknown, 0 Unchecked, 3.1s Time] [2022-04-28 10:37:52,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-28 10:37:58,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 552. [2022-04-28 10:37:58,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:58,285 INFO L82 GeneralOperation]: Start isEquivalent. First operand 622 states. Second operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) [2022-04-28 10:37:58,285 INFO L74 IsIncluded]: Start isIncluded. First operand 622 states. Second operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) [2022-04-28 10:37:58,286 INFO L87 Difference]: Start difference. First operand 622 states. Second operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) [2022-04-28 10:37:58,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:58,298 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-28 10:37:58,298 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-28 10:37:58,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:58,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:58,301 INFO L74 IsIncluded]: Start isIncluded. First operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) Second operand 622 states. [2022-04-28 10:37:58,301 INFO L87 Difference]: Start difference. First operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) Second operand 622 states. [2022-04-28 10:37:58,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:58,313 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-28 10:37:58,313 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-28 10:37:58,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:58,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:58,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:58,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:58,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 552 states, 489 states have (on average 1.16359918200409) internal successors, (569), 525 states have internal predecessors, (569), 23 states have call successors, (23), 5 states have call predecessors, (23), 39 states have return successors, (41), 21 states have call predecessors, (41), 21 states have call successors, (41) [2022-04-28 10:37:58,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 633 transitions. [2022-04-28 10:37:58,329 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 633 transitions. Word has length 51 [2022-04-28 10:37:58,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:58,329 INFO L495 AbstractCegarLoop]: Abstraction has 552 states and 633 transitions. [2022-04-28 10:37:58,330 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:37:58,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 552 states and 633 transitions. [2022-04-28 10:37:59,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 633 edges. 633 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:59,660 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 633 transitions. [2022-04-28 10:37:59,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:37:59,662 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:59,662 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:37:59,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:59,862 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable60,52 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:59,863 INFO L420 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:59,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:59,863 INFO L85 PathProgramCache]: Analyzing trace with hash 2139086154, now seen corresponding path program 103 times [2022-04-28 10:37:59,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:59,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [139286876] [2022-04-28 10:37:59,865 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:59,865 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:59,865 INFO L85 PathProgramCache]: Analyzing trace with hash 2139086154, now seen corresponding path program 104 times [2022-04-28 10:37:59,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:59,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1888065870] [2022-04-28 10:37:59,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:59,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:59,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:59,942 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:59,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:59,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {102266#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {102219#true} is VALID [2022-04-28 10:37:59,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-28 10:37:59,945 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-28 10:37:59,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:59,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:00,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,110 INFO L290 TraceCheckUtils]: 4: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:00,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:00,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:00,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:00,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:00,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:00,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:00,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:00,115 INFO L290 TraceCheckUtils]: 15: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:00,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:00,115 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {102219#true} #111#return; {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:00,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:38:00,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:00,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,377 INFO L290 TraceCheckUtils]: 3: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,377 INFO L290 TraceCheckUtils]: 4: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:00,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:00,378 INFO L290 TraceCheckUtils]: 6: Hoare triple {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:00,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:00,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:38:00,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:00,380 INFO L290 TraceCheckUtils]: 10: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:00,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:00,381 INFO L290 TraceCheckUtils]: 12: Hoare triple {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:00,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:00,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:00,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:00,382 INFO L290 TraceCheckUtils]: 16: Hoare triple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:00,383 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {102262#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:00,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {102219#true} call ULTIMATE.init(); {102266#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:38:00,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {102266#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {102219#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {102219#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L272 TraceCheckUtils]: 7: Hoare triple {102219#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:00,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,385 INFO L290 TraceCheckUtils]: 10: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:00,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:00,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:00,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:00,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,388 INFO L290 TraceCheckUtils]: 17: Hoare triple {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:00,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:00,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:00,390 INFO L290 TraceCheckUtils]: 21: Hoare triple {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:00,390 INFO L290 TraceCheckUtils]: 22: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:00,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:00,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:00,392 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {102219#true} #111#return; {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:00,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:00,392 INFO L272 TraceCheckUtils]: 27: Hoare triple {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:00,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:00,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:00,394 INFO L290 TraceCheckUtils]: 33: Hoare triple {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:00,395 INFO L290 TraceCheckUtils]: 34: Hoare triple {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:00,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:00,396 INFO L290 TraceCheckUtils]: 36: Hoare triple {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:38:00,396 INFO L290 TraceCheckUtils]: 37: Hoare triple {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:00,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:00,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:00,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:00,398 INFO L290 TraceCheckUtils]: 41: Hoare triple {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:00,398 INFO L290 TraceCheckUtils]: 42: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:00,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:00,399 INFO L290 TraceCheckUtils]: 44: Hoare triple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:00,400 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {102262#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:00,400 INFO L290 TraceCheckUtils]: 46: Hoare triple {102262#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {102263#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:38:00,401 INFO L272 TraceCheckUtils]: 47: Hoare triple {102263#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {102264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:38:00,401 INFO L290 TraceCheckUtils]: 48: Hoare triple {102264#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {102265#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:38:00,401 INFO L290 TraceCheckUtils]: 49: Hoare triple {102265#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {102220#false} is VALID [2022-04-28 10:38:00,401 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-28 10:38:00,402 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 48 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:38:00,402 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:00,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1888065870] [2022-04-28 10:38:00,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1888065870] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:00,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [323176905] [2022-04-28 10:38:00,402 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:38:00,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:00,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:00,404 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:00,405 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Waiting until timeout for monitored process [2022-04-28 10:38:00,481 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:38:00,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:00,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 10:38:00,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:00,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:01,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {102219#true} call ULTIMATE.init(); {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {102219#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {102219#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {102219#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {102219#true} is VALID [2022-04-28 10:38:01,153 INFO L272 TraceCheckUtils]: 7: Hoare triple {102219#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:01,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,154 INFO L290 TraceCheckUtils]: 10: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:01,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:01,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:01,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:01,157 INFO L290 TraceCheckUtils]: 16: Hoare triple {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,158 INFO L290 TraceCheckUtils]: 18: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,158 INFO L290 TraceCheckUtils]: 19: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {102349#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,158 INFO L290 TraceCheckUtils]: 20: Hoare triple {102349#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102353#(and (<= correct_version_~j~0 6) (= correct_version_~j~0 correct_version_~y~0) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,159 INFO L290 TraceCheckUtils]: 21: Hoare triple {102353#(and (<= correct_version_~j~0 6) (= correct_version_~j~0 correct_version_~y~0) (<= 6 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:01,159 INFO L290 TraceCheckUtils]: 22: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:01,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:01,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:01,160 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {102219#true} #111#return; {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:01,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:01,161 INFO L272 TraceCheckUtils]: 27: Hoare triple {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:01,161 INFO L290 TraceCheckUtils]: 28: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,162 INFO L290 TraceCheckUtils]: 29: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,162 INFO L290 TraceCheckUtils]: 30: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,162 INFO L290 TraceCheckUtils]: 31: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,163 INFO L290 TraceCheckUtils]: 32: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:01,163 INFO L290 TraceCheckUtils]: 33: Hoare triple {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:01,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:01,164 INFO L290 TraceCheckUtils]: 35: Hoare triple {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:01,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:38:01,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,165 INFO L290 TraceCheckUtils]: 38: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {102411#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,166 INFO L290 TraceCheckUtils]: 40: Hoare triple {102411#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102415#(and (<= student_version_~j~1 6) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,166 INFO L290 TraceCheckUtils]: 41: Hoare triple {102415#(and (<= student_version_~j~1 6) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0) (<= 6 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:01,167 INFO L290 TraceCheckUtils]: 42: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:01,167 INFO L290 TraceCheckUtils]: 43: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:01,167 INFO L290 TraceCheckUtils]: 44: Hoare triple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:01,168 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {102431#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:01,168 INFO L290 TraceCheckUtils]: 46: Hoare triple {102431#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {102435#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:01,169 INFO L272 TraceCheckUtils]: 47: Hoare triple {102435#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:38:01,169 INFO L290 TraceCheckUtils]: 48: Hoare triple {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {102443#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:38:01,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {102443#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {102220#false} is VALID [2022-04-28 10:38:01,170 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-28 10:38:01,170 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 48 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:38:01,170 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:01,651 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-28 10:38:01,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {102443#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {102220#false} is VALID [2022-04-28 10:38:01,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {102443#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:38:01,652 INFO L272 TraceCheckUtils]: 47: Hoare triple {102263#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:38:01,653 INFO L290 TraceCheckUtils]: 46: Hoare triple {102262#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {102263#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:38:01,653 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {102262#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:01,654 INFO L290 TraceCheckUtils]: 44: Hoare triple {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:01,654 INFO L290 TraceCheckUtils]: 43: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {102288#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:01,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:01,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102287#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:01,655 INFO L290 TraceCheckUtils]: 40: Hoare triple {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {102286#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:01,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {102285#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:01,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,657 INFO L290 TraceCheckUtils]: 37: Hoare triple {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102284#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:38:01,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102283#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:38:01,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102282#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:01,658 INFO L290 TraceCheckUtils]: 34: Hoare triple {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102281#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:01,658 INFO L290 TraceCheckUtils]: 33: Hoare triple {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102280#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:01,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {102279#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:01,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,660 INFO L290 TraceCheckUtils]: 28: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {102278#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:01,660 INFO L272 TraceCheckUtils]: 27: Hoare triple {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:01,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {102243#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:01,661 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {102219#true} #111#return; {102242#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:01,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:01,662 INFO L290 TraceCheckUtils]: 23: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {102277#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:01,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:01,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102276#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:01,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {102275#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:01,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {102274#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:01,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102273#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102272#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102271#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:01,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102270#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:01,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102269#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:01,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {102268#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:01,667 INFO L290 TraceCheckUtils]: 11: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,667 INFO L290 TraceCheckUtils]: 10: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {102219#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {102267#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:01,668 INFO L272 TraceCheckUtils]: 7: Hoare triple {102219#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L290 TraceCheckUtils]: 6: Hoare triple {102219#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {102219#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {102219#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {102219#true} call ULTIMATE.init(); {102219#true} is VALID [2022-04-28 10:38:01,668 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 48 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:38:01,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [323176905] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:01,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:01,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 39 [2022-04-28 10:38:01,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:01,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [139286876] [2022-04-28 10:38:01,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [139286876] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:01,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:01,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 10:38:01,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1341439050] [2022-04-28 10:38:01,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:01,669 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:01,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:01,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:01,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:01,700 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 10:38:01,700 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:01,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 10:38:01,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1393, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:38:01,701 INFO L87 Difference]: Start difference. First operand 552 states and 633 transitions. Second operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:12,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:12,725 INFO L93 Difference]: Finished difference Result 558 states and 638 transitions. [2022-04-28 10:38:12,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 10:38:12,725 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:12,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:12,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:12,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-28 10:38:12,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:12,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-28 10:38:12,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 156 transitions. [2022-04-28 10:38:12,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:12,859 INFO L225 Difference]: With dead ends: 558 [2022-04-28 10:38:12,860 INFO L226 Difference]: Without dead ends: 536 [2022-04-28 10:38:12,862 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 90 SyntacticMatches, 9 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 677 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=240, Invalid=4316, Unknown=0, NotChecked=0, Total=4556 [2022-04-28 10:38:12,862 INFO L413 NwaCegarLoop]: 81 mSDtfsCounter, 158 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 3408 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 161 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 3443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 3408 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:12,862 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [161 Valid, 223 Invalid, 3443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 3408 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-28 10:38:12,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 536 states. [2022-04-28 10:38:18,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 536 to 536. [2022-04-28 10:38:18,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:18,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 536 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:38:18,741 INFO L74 IsIncluded]: Start isIncluded. First operand 536 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:38:18,741 INFO L87 Difference]: Start difference. First operand 536 states. Second operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:38:18,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:18,752 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-28 10:38:18,752 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-28 10:38:18,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:18,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:18,754 INFO L74 IsIncluded]: Start isIncluded. First operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) Second operand 536 states. [2022-04-28 10:38:18,755 INFO L87 Difference]: Start difference. First operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) Second operand 536 states. [2022-04-28 10:38:18,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:18,765 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-28 10:38:18,765 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-28 10:38:18,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:18,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:18,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:18,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:18,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 536 states, 476 states have (on average 1.1638655462184875) internal successors, (554), 510 states have internal predecessors, (554), 22 states have call successors, (22), 5 states have call predecessors, (22), 37 states have return successors, (39), 20 states have call predecessors, (39), 20 states have call successors, (39) [2022-04-28 10:38:18,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 615 transitions. [2022-04-28 10:38:18,781 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 615 transitions. Word has length 51 [2022-04-28 10:38:18,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:18,781 INFO L495 AbstractCegarLoop]: Abstraction has 536 states and 615 transitions. [2022-04-28 10:38:18,781 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:18,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 536 states and 615 transitions. [2022-04-28 10:38:20,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 615 edges. 615 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:20,114 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-28 10:38:20,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:38:20,117 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:20,117 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:38:20,133 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Ended with exit code 0 [2022-04-28 10:38:20,317 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable61 [2022-04-28 10:38:20,317 INFO L420 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:20,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:20,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1318950550, now seen corresponding path program 105 times [2022-04-28 10:38:20,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:20,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1572802002] [2022-04-28 10:38:20,320 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:20,320 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:20,320 INFO L85 PathProgramCache]: Analyzing trace with hash -1318950550, now seen corresponding path program 106 times [2022-04-28 10:38:20,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:20,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2085001453] [2022-04-28 10:38:20,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:20,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:20,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:20,403 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:20,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:20,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {105968#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105921#true} is VALID [2022-04-28 10:38:20,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-28 10:38:20,405 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-28 10:38:20,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:20,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:20,557 INFO L290 TraceCheckUtils]: 0: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,558 INFO L290 TraceCheckUtils]: 4: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:20,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:20,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:20,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:20,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:20,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:38:20,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:20,562 INFO L290 TraceCheckUtils]: 12: Hoare triple {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:20,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:20,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:20,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:20,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:20,564 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {105921#true} #111#return; {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:20,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:38:20,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:20,773 INFO L290 TraceCheckUtils]: 0: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,775 INFO L290 TraceCheckUtils]: 3: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,775 INFO L290 TraceCheckUtils]: 4: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:20,776 INFO L290 TraceCheckUtils]: 6: Hoare triple {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:20,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:20,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:20,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:20,777 INFO L290 TraceCheckUtils]: 10: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:38:20,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:20,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:20,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:20,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:20,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:20,780 INFO L290 TraceCheckUtils]: 16: Hoare triple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:20,781 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {105964#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:20,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {105921#true} call ULTIMATE.init(); {105968#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:38:20,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {105968#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105921#true} is VALID [2022-04-28 10:38:20,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {105921#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L290 TraceCheckUtils]: 6: Hoare triple {105921#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L272 TraceCheckUtils]: 7: Hoare triple {105921#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:20,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,783 INFO L290 TraceCheckUtils]: 10: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,783 INFO L290 TraceCheckUtils]: 11: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,784 INFO L290 TraceCheckUtils]: 12: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:20,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:20,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:20,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:20,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:20,786 INFO L290 TraceCheckUtils]: 17: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:20,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:38:20,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:20,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:20,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:20,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:20,788 INFO L290 TraceCheckUtils]: 23: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:20,788 INFO L290 TraceCheckUtils]: 24: Hoare triple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:20,789 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {105921#true} #111#return; {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:20,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:20,790 INFO L272 TraceCheckUtils]: 27: Hoare triple {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:20,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,791 INFO L290 TraceCheckUtils]: 30: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,791 INFO L290 TraceCheckUtils]: 32: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:20,792 INFO L290 TraceCheckUtils]: 33: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:20,792 INFO L290 TraceCheckUtils]: 34: Hoare triple {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:20,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:20,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:20,793 INFO L290 TraceCheckUtils]: 37: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:20,794 INFO L290 TraceCheckUtils]: 38: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:38:20,794 INFO L290 TraceCheckUtils]: 39: Hoare triple {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:20,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:20,795 INFO L290 TraceCheckUtils]: 41: Hoare triple {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:20,795 INFO L290 TraceCheckUtils]: 42: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:20,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:20,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:20,797 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {105964#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:20,797 INFO L290 TraceCheckUtils]: 46: Hoare triple {105964#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {105965#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:38:20,798 INFO L272 TraceCheckUtils]: 47: Hoare triple {105965#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {105966#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:38:20,798 INFO L290 TraceCheckUtils]: 48: Hoare triple {105966#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {105967#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:38:20,798 INFO L290 TraceCheckUtils]: 49: Hoare triple {105967#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {105922#false} is VALID [2022-04-28 10:38:20,798 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-28 10:38:20,799 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:38:20,799 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:20,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2085001453] [2022-04-28 10:38:20,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2085001453] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:20,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [276006800] [2022-04-28 10:38:20,799 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:38:20,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:20,799 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:20,800 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:20,801 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Waiting until timeout for monitored process [2022-04-28 10:38:20,880 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:38:20,881 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:20,882 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 10:38:20,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:20,892 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:21,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {105921#true} call ULTIMATE.init(); {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {105921#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {105921#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105921#true} is VALID [2022-04-28 10:38:21,611 INFO L290 TraceCheckUtils]: 6: Hoare triple {105921#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105921#true} is VALID [2022-04-28 10:38:21,612 INFO L272 TraceCheckUtils]: 7: Hoare triple {105921#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:21,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:21,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:21,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:21,613 INFO L290 TraceCheckUtils]: 11: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:21,613 INFO L290 TraceCheckUtils]: 12: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:21,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:21,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:21,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:21,615 INFO L290 TraceCheckUtils]: 16: Hoare triple {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:21,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:21,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {106046#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:21,616 INFO L290 TraceCheckUtils]: 19: Hoare triple {106046#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {106050#(and (= correct_version_~j~0 correct_version_~y~0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:21,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {106050#(and (= correct_version_~j~0 correct_version_~y~0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {106054#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:21,617 INFO L290 TraceCheckUtils]: 21: Hoare triple {106054#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:21,617 INFO L290 TraceCheckUtils]: 22: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:21,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:21,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:21,619 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {105921#true} #111#return; {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:21,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:21,619 INFO L272 TraceCheckUtils]: 27: Hoare triple {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:21,619 INFO L290 TraceCheckUtils]: 28: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:21,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:21,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:21,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:21,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:21,621 INFO L290 TraceCheckUtils]: 33: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:21,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:21,622 INFO L290 TraceCheckUtils]: 35: Hoare triple {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:21,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:21,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:21,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {106109#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:21,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {106109#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {106113#(and (= student_version_~j~1 student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:21,624 INFO L290 TraceCheckUtils]: 40: Hoare triple {106113#(and (= student_version_~j~1 student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {106117#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:21,624 INFO L290 TraceCheckUtils]: 41: Hoare triple {106117#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:21,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:21,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:21,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:21,626 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {106133#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:21,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {106133#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {106137#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:21,627 INFO L272 TraceCheckUtils]: 47: Hoare triple {106137#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:38:21,627 INFO L290 TraceCheckUtils]: 48: Hoare triple {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {106145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:38:21,628 INFO L290 TraceCheckUtils]: 49: Hoare triple {106145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {105922#false} is VALID [2022-04-28 10:38:21,628 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-28 10:38:21,628 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:38:21,628 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:22,092 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-28 10:38:22,092 INFO L290 TraceCheckUtils]: 49: Hoare triple {106145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {105922#false} is VALID [2022-04-28 10:38:22,093 INFO L290 TraceCheckUtils]: 48: Hoare triple {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {106145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:38:22,093 INFO L272 TraceCheckUtils]: 47: Hoare triple {105965#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:38:22,094 INFO L290 TraceCheckUtils]: 46: Hoare triple {105964#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {105965#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:38:22,095 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {105964#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:22,095 INFO L290 TraceCheckUtils]: 44: Hoare triple {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:22,095 INFO L290 TraceCheckUtils]: 43: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {105988#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:38:22,096 INFO L290 TraceCheckUtils]: 42: Hoare triple {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:22,096 INFO L290 TraceCheckUtils]: 41: Hoare triple {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105987#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:38:22,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105986#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:22,097 INFO L290 TraceCheckUtils]: 39: Hoare triple {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {105985#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:38:22,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {105984#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:38:22,098 INFO L290 TraceCheckUtils]: 37: Hoare triple {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:22,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105983#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:38:22,100 INFO L290 TraceCheckUtils]: 35: Hoare triple {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105982#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:38:22,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105981#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:22,100 INFO L290 TraceCheckUtils]: 33: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {105980#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:22,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:22,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:22,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:22,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:22,102 INFO L290 TraceCheckUtils]: 28: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105979#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:22,102 INFO L272 TraceCheckUtils]: 27: Hoare triple {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:22,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105945#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:38:22,103 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {105921#true} #111#return; {105944#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:38:22,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:22,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {105978#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:38:22,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:22,105 INFO L290 TraceCheckUtils]: 21: Hoare triple {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105977#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:38:22,105 INFO L290 TraceCheckUtils]: 20: Hoare triple {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105976#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:38:22,106 INFO L290 TraceCheckUtils]: 19: Hoare triple {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {105975#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:38:22,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {105974#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:38:22,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:22,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105973#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:38:22,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105972#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:38:22,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105971#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:22,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {105970#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:22,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:22,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:22,109 INFO L290 TraceCheckUtils]: 10: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:22,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:22,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {105921#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105969#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:22,110 INFO L272 TraceCheckUtils]: 7: Hoare triple {105921#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L290 TraceCheckUtils]: 6: Hoare triple {105921#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {105921#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {105921#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105921#true} is VALID [2022-04-28 10:38:22,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {105921#true} call ULTIMATE.init(); {105921#true} is VALID [2022-04-28 10:38:22,111 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:38:22,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [276006800] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:22,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:22,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 39 [2022-04-28 10:38:22,111 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:22,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1572802002] [2022-04-28 10:38:22,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1572802002] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:22,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:22,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:38:22,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2023021076] [2022-04-28 10:38:22,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:22,112 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:22,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:22,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:22,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:22,141 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:38:22,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:22,142 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:38:22,142 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1389, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:38:22,142 INFO L87 Difference]: Start difference. First operand 536 states and 615 transitions. Second operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:31,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:31,495 INFO L93 Difference]: Finished difference Result 542 states and 620 transitions. [2022-04-28 10:38:31,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:38:31,495 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:31,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:31,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:31,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-28 10:38:31,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:31,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-28 10:38:31,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 126 transitions. [2022-04-28 10:38:31,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:31,617 INFO L225 Difference]: With dead ends: 542 [2022-04-28 10:38:31,617 INFO L226 Difference]: Without dead ends: 518 [2022-04-28 10:38:31,619 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 88 SyntacticMatches, 9 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 682 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=242, Invalid=4048, Unknown=0, NotChecked=0, Total=4290 [2022-04-28 10:38:31,620 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 120 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2323 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 2359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 2323 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:31,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [122 Valid, 190 Invalid, 2359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 2323 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-28 10:38:31,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 518 states. [2022-04-28 10:38:37,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 518 to 518. [2022-04-28 10:38:37,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:37,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 518 states. Second operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) [2022-04-28 10:38:37,456 INFO L74 IsIncluded]: Start isIncluded. First operand 518 states. Second operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) [2022-04-28 10:38:37,456 INFO L87 Difference]: Start difference. First operand 518 states. Second operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) [2022-04-28 10:38:37,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:37,466 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-28 10:38:37,466 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-28 10:38:37,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:37,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:37,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) Second operand 518 states. [2022-04-28 10:38:37,468 INFO L87 Difference]: Start difference. First operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) Second operand 518 states. [2022-04-28 10:38:37,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:37,477 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-28 10:38:37,478 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-28 10:38:37,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:37,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:37,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:37,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:37,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 518 states, 461 states have (on average 1.1648590021691974) internal successors, (537), 493 states have internal predecessors, (537), 21 states have call successors, (21), 5 states have call predecessors, (21), 35 states have return successors, (37), 19 states have call predecessors, (37), 19 states have call successors, (37) [2022-04-28 10:38:37,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 518 states to 518 states and 595 transitions. [2022-04-28 10:38:37,492 INFO L78 Accepts]: Start accepts. Automaton has 518 states and 595 transitions. Word has length 51 [2022-04-28 10:38:37,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:37,492 INFO L495 AbstractCegarLoop]: Abstraction has 518 states and 595 transitions. [2022-04-28 10:38:37,492 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:37,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 518 states and 595 transitions. [2022-04-28 10:38:38,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 595 edges. 595 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:38,804 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-28 10:38:38,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:38:38,806 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:38,806 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:38:38,822 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Ended with exit code 0 [2022-04-28 10:38:39,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable62,54 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:39,011 INFO L420 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:39,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:39,011 INFO L85 PathProgramCache]: Analyzing trace with hash -774418501, now seen corresponding path program 107 times [2022-04-28 10:38:39,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:39,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2036301685] [2022-04-28 10:38:39,014 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:39,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:39,014 INFO L85 PathProgramCache]: Analyzing trace with hash -774418501, now seen corresponding path program 108 times [2022-04-28 10:38:39,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:39,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1736747054] [2022-04-28 10:38:39,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:39,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:39,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:39,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:39,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:39,053 INFO L290 TraceCheckUtils]: 0: Hoare triple {109557#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {109515#true} is VALID [2022-04-28 10:38:39,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-28 10:38:39,053 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-28 10:38:39,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:39,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:39,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {109558#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {109558#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109559#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {109559#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109560#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:38:39,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {109560#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109561#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} is VALID [2022-04-28 10:38:39,137 INFO L290 TraceCheckUtils]: 4: Hoare triple {109561#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109562#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:38:39,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {109562#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 4 correct_version_~a)))} assume !(~b~0 < ~n); {109563#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,137 INFO L290 TraceCheckUtils]: 6: Hoare triple {109563#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,138 INFO L290 TraceCheckUtils]: 10: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,140 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {109515#true} #111#return; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:39,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:38:39,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:39,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {109565#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {109565#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109566#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {109566#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109567#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {109567#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109568#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,280 INFO L290 TraceCheckUtils]: 4: Hoare triple {109568#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109569#(and (= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {109569#(and (= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109570#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {109570#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {109571#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:39,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {109571#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,282 INFO L290 TraceCheckUtils]: 10: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,284 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {109537#(<= main_~n~0 (* main_~a~0 4))} #113#return; {109516#false} is VALID [2022-04-28 10:38:39,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {109515#true} call ULTIMATE.init(); {109557#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:38:39,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {109557#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {109515#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L290 TraceCheckUtils]: 6: Hoare triple {109515#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L272 TraceCheckUtils]: 7: Hoare triple {109515#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:39,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {109558#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {109558#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109559#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,286 INFO L290 TraceCheckUtils]: 10: Hoare triple {109559#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109560#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:38:39,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {109560#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109561#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} is VALID [2022-04-28 10:38:39,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {109561#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 3 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109562#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:38:39,288 INFO L290 TraceCheckUtils]: 13: Hoare triple {109562#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 4 correct_version_~a)))} assume !(~b~0 < ~n); {109563#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:38:39,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {109563#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,289 INFO L290 TraceCheckUtils]: 15: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,289 INFO L290 TraceCheckUtils]: 17: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,289 INFO L290 TraceCheckUtils]: 18: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,289 INFO L290 TraceCheckUtils]: 19: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:39,291 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {109515#true} #111#return; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:39,291 INFO L290 TraceCheckUtils]: 25: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:39,292 INFO L272 TraceCheckUtils]: 26: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:39,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {109565#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,292 INFO L290 TraceCheckUtils]: 28: Hoare triple {109565#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109566#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,293 INFO L290 TraceCheckUtils]: 29: Hoare triple {109566#(and (<= student_version_~a student_version_~b~1) (= |student_version_#in~a| student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109567#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {109567#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109568#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {109568#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109569#(and (= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {109569#(and (= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109570#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:38:39,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {109570#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {109571#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:39,295 INFO L290 TraceCheckUtils]: 34: Hoare triple {109571#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,296 INFO L290 TraceCheckUtils]: 38: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,296 INFO L290 TraceCheckUtils]: 39: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,297 INFO L290 TraceCheckUtils]: 40: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,297 INFO L290 TraceCheckUtils]: 41: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,297 INFO L290 TraceCheckUtils]: 43: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:39,298 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {109537#(<= main_~n~0 (* main_~a~0 4))} #113#return; {109516#false} is VALID [2022-04-28 10:38:39,298 INFO L290 TraceCheckUtils]: 46: Hoare triple {109516#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {109516#false} is VALID [2022-04-28 10:38:39,298 INFO L272 TraceCheckUtils]: 47: Hoare triple {109516#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {109516#false} is VALID [2022-04-28 10:38:39,298 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-28 10:38:39,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-28 10:38:39,299 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-28 10:38:39,299 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 27 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-28 10:38:39,299 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:39,299 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1736747054] [2022-04-28 10:38:39,299 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1736747054] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:39,299 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1766525283] [2022-04-28 10:38:39,299 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:38:39,299 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:39,299 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:39,300 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:39,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Waiting until timeout for monitored process [2022-04-28 10:38:39,376 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:38:39,377 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:39,378 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:38:39,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:39,391 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:40,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {109515#true} call ULTIMATE.init(); {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {109515#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {109515#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L290 TraceCheckUtils]: 6: Hoare triple {109515#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {109515#true} is VALID [2022-04-28 10:38:40,208 INFO L272 TraceCheckUtils]: 7: Hoare triple {109515#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:40,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {109600#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:38:40,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {109600#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109604#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:38:40,210 INFO L290 TraceCheckUtils]: 10: Hoare triple {109604#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~b~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109608#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 2 correct_version_~a)))} is VALID [2022-04-28 10:38:40,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {109608#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 2 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109612#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 3 correct_version_~a)))} is VALID [2022-04-28 10:38:40,211 INFO L290 TraceCheckUtils]: 12: Hoare triple {109612#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 3 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109616#(and (<= (div (- correct_version_~b~0) (- 4)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-28 10:38:40,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {109616#(and (<= (div (- correct_version_~b~0) (- 4)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,213 INFO L290 TraceCheckUtils]: 21: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,214 INFO L290 TraceCheckUtils]: 23: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:40,214 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {109515#true} #111#return; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:40,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:40,215 INFO L272 TraceCheckUtils]: 26: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:40,215 INFO L290 TraceCheckUtils]: 27: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {109662#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:38:40,216 INFO L290 TraceCheckUtils]: 28: Hoare triple {109662#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109666#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:38:40,216 INFO L290 TraceCheckUtils]: 29: Hoare triple {109666#(and (<= student_version_~a student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109670#(and (<= (* 2 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:38:40,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {109670#(and (<= (* 2 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109674#(and (<= (* 3 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:38:40,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {109674#(and (<= (* 3 student_version_~a) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109678#(and (<= |student_version_#in~a| (div student_version_~b~1 4)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-28 10:38:40,218 INFO L290 TraceCheckUtils]: 32: Hoare triple {109678#(and (<= |student_version_#in~a| (div student_version_~b~1 4)) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,219 INFO L290 TraceCheckUtils]: 37: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,220 INFO L290 TraceCheckUtils]: 38: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,220 INFO L290 TraceCheckUtils]: 39: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,220 INFO L290 TraceCheckUtils]: 40: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,221 INFO L290 TraceCheckUtils]: 42: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,221 INFO L290 TraceCheckUtils]: 43: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,221 INFO L290 TraceCheckUtils]: 44: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:40,222 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {109537#(<= main_~n~0 (* main_~a~0 4))} #113#return; {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L290 TraceCheckUtils]: 46: Hoare triple {109516#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L272 TraceCheckUtils]: 47: Hoare triple {109516#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-28 10:38:40,222 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 10:38:40,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:41,497 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-28 10:38:41,498 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-28 10:38:41,498 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-28 10:38:41,498 INFO L272 TraceCheckUtils]: 47: Hoare triple {109516#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {109516#false} is VALID [2022-04-28 10:38:41,498 INFO L290 TraceCheckUtils]: 46: Hoare triple {109516#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {109516#false} is VALID [2022-04-28 10:38:41,511 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {109537#(<= main_~n~0 (* main_~a~0 4))} #113#return; {109516#false} is VALID [2022-04-28 10:38:41,511 INFO L290 TraceCheckUtils]: 44: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,511 INFO L290 TraceCheckUtils]: 43: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,511 INFO L290 TraceCheckUtils]: 42: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,512 INFO L290 TraceCheckUtils]: 41: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,512 INFO L290 TraceCheckUtils]: 40: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,512 INFO L290 TraceCheckUtils]: 39: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,512 INFO L290 TraceCheckUtils]: 38: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {109793#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109572#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-28 10:38:41,515 INFO L290 TraceCheckUtils]: 31: Hoare triple {109797#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109793#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:41,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {109801#(or (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109797#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:41,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {109805#(or (<= student_version_~n (+ (* 3 student_version_~a) student_version_~b~1)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109801#(or (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:41,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {109809#(or (<= student_version_~n (+ student_version_~b~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {109805#(or (<= student_version_~n (+ (* 3 student_version_~a) student_version_~b~1)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:41,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {109809#(or (<= student_version_~n (+ student_version_~b~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-28 10:38:41,517 INFO L272 TraceCheckUtils]: 26: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:41,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {109537#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:41,518 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {109515#true} #111#return; {109537#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-28 10:38:41,518 INFO L290 TraceCheckUtils]: 23: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,520 INFO L290 TraceCheckUtils]: 15: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {109855#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {109564#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-28 10:38:41,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {109859#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109855#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-28 10:38:41,522 INFO L290 TraceCheckUtils]: 11: Hoare triple {109863#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109859#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-28 10:38:41,522 INFO L290 TraceCheckUtils]: 10: Hoare triple {109867#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 (* 3 correct_version_~a)) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109863#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n))} is VALID [2022-04-28 10:38:41,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {109871#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 (* 4 correct_version_~a)) correct_version_~n))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {109867#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 (* 3 correct_version_~a)) correct_version_~n))} is VALID [2022-04-28 10:38:41,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {109515#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {109871#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 (* 4 correct_version_~a)) correct_version_~n))} is VALID [2022-04-28 10:38:41,523 INFO L272 TraceCheckUtils]: 7: Hoare triple {109515#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {109515#true} is VALID [2022-04-28 10:38:41,523 INFO L290 TraceCheckUtils]: 6: Hoare triple {109515#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {109515#true} is VALID [2022-04-28 10:38:41,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {109515#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {109515#true} is VALID [2022-04-28 10:38:41,523 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-28 10:38:41,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-28 10:38:41,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-28 10:38:41,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {109515#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {109515#true} is VALID [2022-04-28 10:38:41,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {109515#true} call ULTIMATE.init(); {109515#true} is VALID [2022-04-28 10:38:41,524 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 5 proven. 20 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 10:38:41,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1766525283] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:41,524 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:41,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-28 10:38:41,524 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:41,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2036301685] [2022-04-28 10:38:41,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2036301685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:41,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:41,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:38:41,525 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751657590] [2022-04-28 10:38:41,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:41,525 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:41,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:41,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:41,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:41,552 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:38:41,552 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:41,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:38:41,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:38:41,553 INFO L87 Difference]: Start difference. First operand 518 states and 595 transitions. Second operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:50,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:50,221 INFO L93 Difference]: Finished difference Result 590 states and 681 transitions. [2022-04-28 10:38:50,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:38:50,221 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:38:50,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:50,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:50,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 130 transitions. [2022-04-28 10:38:50,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:50,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 130 transitions. [2022-04-28 10:38:50,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 130 transitions. [2022-04-28 10:38:50,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:50,356 INFO L225 Difference]: With dead ends: 590 [2022-04-28 10:38:50,356 INFO L226 Difference]: Without dead ends: 573 [2022-04-28 10:38:50,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 353 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=237, Invalid=2519, Unknown=0, NotChecked=0, Total=2756 [2022-04-28 10:38:50,359 INFO L413 NwaCegarLoop]: 73 mSDtfsCounter, 161 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 1334 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 168 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 1355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 1334 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:50,359 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [168 Valid, 140 Invalid, 1355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 1334 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 10:38:50,360 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 573 states. [2022-04-28 10:38:56,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 573 to 568. [2022-04-28 10:38:56,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:56,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 573 states. Second operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:38:56,850 INFO L74 IsIncluded]: Start isIncluded. First operand 573 states. Second operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:38:56,850 INFO L87 Difference]: Start difference. First operand 573 states. Second operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:38:56,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:56,862 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-28 10:38:56,862 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-28 10:38:56,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:56,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:56,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) Second operand 573 states. [2022-04-28 10:38:56,865 INFO L87 Difference]: Start difference. First operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) Second operand 573 states. [2022-04-28 10:38:56,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:56,877 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-28 10:38:56,877 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-28 10:38:56,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:56,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:56,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:56,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:56,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 568 states, 490 states have (on average 1.153061224489796) internal successors, (565), 536 states have internal predecessors, (565), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:38:56,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 568 states to 568 states and 651 transitions. [2022-04-28 10:38:56,895 INFO L78 Accepts]: Start accepts. Automaton has 568 states and 651 transitions. Word has length 51 [2022-04-28 10:38:56,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:56,896 INFO L495 AbstractCegarLoop]: Abstraction has 568 states and 651 transitions. [2022-04-28 10:38:56,896 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:38:56,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 568 states and 651 transitions. [2022-04-28 10:38:58,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 651 edges. 651 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:58,365 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 651 transitions. [2022-04-28 10:38:58,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:38:58,368 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:58,368 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:38:58,386 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Forceful destruction successful, exit code 0 [2022-04-28 10:38:58,568 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable63,55 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:58,568 INFO L420 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:58,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:58,569 INFO L85 PathProgramCache]: Analyzing trace with hash -103251766, now seen corresponding path program 109 times [2022-04-28 10:38:58,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:58,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [384959802] [2022-04-28 10:38:58,571 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:58,571 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:58,571 INFO L85 PathProgramCache]: Analyzing trace with hash -103251766, now seen corresponding path program 110 times [2022-04-28 10:38:58,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:58,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2006126623] [2022-04-28 10:38:58,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:58,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:58,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:58,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:58,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:58,657 INFO L290 TraceCheckUtils]: 0: Hoare triple {113435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {113388#true} is VALID [2022-04-28 10:38:58,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-28 10:38:58,657 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-28 10:38:58,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:58,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:58,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,816 INFO L290 TraceCheckUtils]: 3: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,816 INFO L290 TraceCheckUtils]: 4: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:58,817 INFO L290 TraceCheckUtils]: 6: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:58,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:58,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:58,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-28 10:38:58,818 INFO L290 TraceCheckUtils]: 10: Hoare triple {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:38:58,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:38:58,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:38:58,820 INFO L290 TraceCheckUtils]: 13: Hoare triple {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:58,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:58,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:58,821 INFO L290 TraceCheckUtils]: 16: Hoare triple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:58,821 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {113388#true} #111#return; {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:38:58,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:38:58,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:59,026 INFO L290 TraceCheckUtils]: 0: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,027 INFO L290 TraceCheckUtils]: 3: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,028 INFO L290 TraceCheckUtils]: 4: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,028 INFO L290 TraceCheckUtils]: 6: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:59,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:38:59,030 INFO L290 TraceCheckUtils]: 10: Hoare triple {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:38:59,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:38:59,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:59,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,033 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {113431#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:59,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {113388#true} call ULTIMATE.init(); {113435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:38:59,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {113435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {113388#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L290 TraceCheckUtils]: 6: Hoare triple {113388#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L272 TraceCheckUtils]: 7: Hoare triple {113388#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:38:59,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,035 INFO L290 TraceCheckUtils]: 10: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,036 INFO L290 TraceCheckUtils]: 12: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:59,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:59,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:59,038 INFO L290 TraceCheckUtils]: 17: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-28 10:38:59,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:38:59,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:38:59,039 INFO L290 TraceCheckUtils]: 20: Hoare triple {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:38:59,040 INFO L290 TraceCheckUtils]: 21: Hoare triple {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:59,040 INFO L290 TraceCheckUtils]: 22: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:59,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:59,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:59,041 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {113388#true} #111#return; {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:38:59,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:38:59,042 INFO L272 TraceCheckUtils]: 27: Hoare triple {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:38:59,042 INFO L290 TraceCheckUtils]: 28: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,043 INFO L290 TraceCheckUtils]: 30: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,044 INFO L290 TraceCheckUtils]: 34: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:59,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,045 INFO L290 TraceCheckUtils]: 36: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:38:59,046 INFO L290 TraceCheckUtils]: 38: Hoare triple {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:38:59,046 INFO L290 TraceCheckUtils]: 39: Hoare triple {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:38:59,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:38:59,047 INFO L290 TraceCheckUtils]: 41: Hoare triple {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,049 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {113431#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:38:59,050 INFO L290 TraceCheckUtils]: 46: Hoare triple {113431#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {113432#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:38:59,050 INFO L272 TraceCheckUtils]: 47: Hoare triple {113432#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {113433#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:38:59,050 INFO L290 TraceCheckUtils]: 48: Hoare triple {113433#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {113434#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:38:59,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {113434#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {113389#false} is VALID [2022-04-28 10:38:59,051 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-28 10:38:59,051 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:38:59,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:59,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2006126623] [2022-04-28 10:38:59,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2006126623] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:59,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1810978322] [2022-04-28 10:38:59,051 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:38:59,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:59,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:59,052 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:59,053 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Waiting until timeout for monitored process [2022-04-28 10:38:59,130 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:38:59,130 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:59,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:38:59,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:59,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:59,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {113388#true} call ULTIMATE.init(); {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {113388#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {113388#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L290 TraceCheckUtils]: 6: Hoare triple {113388#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {113388#true} is VALID [2022-04-28 10:38:59,885 INFO L272 TraceCheckUtils]: 7: Hoare triple {113388#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:38:59,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,886 INFO L290 TraceCheckUtils]: 10: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,887 INFO L290 TraceCheckUtils]: 12: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:38:59,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:38:59,888 INFO L290 TraceCheckUtils]: 15: Hoare triple {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:59,888 INFO L290 TraceCheckUtils]: 16: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:59,889 INFO L290 TraceCheckUtils]: 17: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {113508#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:38:59,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {113508#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113512#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} is VALID [2022-04-28 10:38:59,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {113512#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113516#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-28 10:38:59,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {113516#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 (* correct_version_~j~0 2)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113520#(and (= (* correct_version_~j~0 2) (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:38:59,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {113520#(and (= (* correct_version_~j~0 2) (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:59,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:38:59,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:59,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:38:59,892 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {113388#true} #111#return; {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:38:59,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:38:59,893 INFO L272 TraceCheckUtils]: 27: Hoare triple {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:38:59,893 INFO L290 TraceCheckUtils]: 28: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,893 INFO L290 TraceCheckUtils]: 29: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:38:59,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:38:59,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,896 INFO L290 TraceCheckUtils]: 37: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {113572#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {113572#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113576#(and (<= student_version_~j~1 2) (= student_version_~j~1 student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,897 INFO L290 TraceCheckUtils]: 39: Hoare triple {113576#(and (<= student_version_~j~1 2) (= student_version_~j~1 student_version_~y~1) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113580#(and (<= student_version_~j~1 2) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:38:59,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {113580#(and (<= student_version_~j~1 2) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113584#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= student_version_~y~1 (* 3 student_version_~j~1)))} is VALID [2022-04-28 10:38:59,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {113584#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= student_version_~y~1 (* 3 student_version_~j~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:38:59,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:38:59,900 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {113600#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-28 10:38:59,900 INFO L290 TraceCheckUtils]: 46: Hoare triple {113600#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {113604#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:38:59,901 INFO L272 TraceCheckUtils]: 47: Hoare triple {113604#(and (<= main_~n_stones2~0 8) (<= 8 main_~n_stones2~0) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:38:59,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {113612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:38:59,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {113612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {113389#false} is VALID [2022-04-28 10:38:59,901 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-28 10:38:59,902 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:38:59,902 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:00,345 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-28 10:39:00,346 INFO L290 TraceCheckUtils]: 49: Hoare triple {113612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {113389#false} is VALID [2022-04-28 10:39:00,346 INFO L290 TraceCheckUtils]: 48: Hoare triple {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {113612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:39:00,346 INFO L272 TraceCheckUtils]: 47: Hoare triple {113432#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:39:00,347 INFO L290 TraceCheckUtils]: 46: Hoare triple {113431#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {113432#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:39:00,348 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {113431#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:39:00,348 INFO L290 TraceCheckUtils]: 44: Hoare triple {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:39:00,348 INFO L290 TraceCheckUtils]: 43: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {113453#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-28 10:39:00,349 INFO L290 TraceCheckUtils]: 42: Hoare triple {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:39:00,349 INFO L290 TraceCheckUtils]: 41: Hoare triple {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113452#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-28 10:39:00,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113451#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:39:00,350 INFO L290 TraceCheckUtils]: 39: Hoare triple {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113450#(and (<= 8 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 8))} is VALID [2022-04-28 10:39:00,351 INFO L290 TraceCheckUtils]: 38: Hoare triple {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {113449#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 8) (<= 8 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-28 10:39:00,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {113448#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 8) (<= 8 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:39:00,351 INFO L290 TraceCheckUtils]: 36: Hoare triple {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:39:00,352 INFO L290 TraceCheckUtils]: 35: Hoare triple {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113447#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:39:00,352 INFO L290 TraceCheckUtils]: 34: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {113446#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:39:00,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,354 INFO L290 TraceCheckUtils]: 28: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {113445#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:39:00,354 INFO L272 TraceCheckUtils]: 27: Hoare triple {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:39:00,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {113412#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-28 10:39:00,355 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {113388#true} #111#return; {113411#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-28 10:39:00,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:39:00,356 INFO L290 TraceCheckUtils]: 23: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {113444#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-28 10:39:00,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:39:00,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113443#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-28 10:39:00,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113442#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:39:00,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113441#(and (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 8))} is VALID [2022-04-28 10:39:00,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {113440#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-28 10:39:00,359 INFO L290 TraceCheckUtils]: 17: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {113439#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 8) (<= 8 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-28 10:39:00,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:39:00,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113438#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:39:00,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {113437#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:39:00,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,362 INFO L290 TraceCheckUtils]: 10: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,362 INFO L290 TraceCheckUtils]: 9: Hoare triple {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {113388#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {113436#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:39:00,362 INFO L272 TraceCheckUtils]: 7: Hoare triple {113388#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {113388#true} is VALID [2022-04-28 10:39:00,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {113388#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {113388#true} is VALID [2022-04-28 10:39:00,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {113388#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {113388#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {113388#true} call ULTIMATE.init(); {113388#true} is VALID [2022-04-28 10:39:00,363 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:39:00,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1810978322] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:00,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:00,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 39 [2022-04-28 10:39:00,363 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:00,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [384959802] [2022-04-28 10:39:00,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [384959802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:00,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:00,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:39:00,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [215112619] [2022-04-28 10:39:00,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:00,364 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:39:00,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:00,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:00,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:00,392 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:39:00,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:00,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:39:00,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1385, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:39:00,393 INFO L87 Difference]: Start difference. First operand 568 states and 651 transitions. Second operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:09,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:09,495 INFO L93 Difference]: Finished difference Result 586 states and 673 transitions. [2022-04-28 10:39:09,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:39:09,495 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:39:09,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:09,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:09,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-28 10:39:09,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:09,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-28 10:39:09,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 100 transitions. [2022-04-28 10:39:09,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:09,608 INFO L225 Difference]: With dead ends: 586 [2022-04-28 10:39:09,608 INFO L226 Difference]: Without dead ends: 569 [2022-04-28 10:39:09,611 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 687 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=244, Invalid=3788, Unknown=0, NotChecked=0, Total=4032 [2022-04-28 10:39:09,611 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 1533 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 1567 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 1533 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:39:09,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 163 Invalid, 1567 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 1533 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 10:39:09,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 569 states. [2022-04-28 10:39:16,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 569 to 564. [2022-04-28 10:39:16,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:16,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 569 states. Second operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:39:16,093 INFO L74 IsIncluded]: Start isIncluded. First operand 569 states. Second operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:39:16,093 INFO L87 Difference]: Start difference. First operand 569 states. Second operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:39:16,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:16,106 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-28 10:39:16,106 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-28 10:39:16,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:16,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:16,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) Second operand 569 states. [2022-04-28 10:39:16,109 INFO L87 Difference]: Start difference. First operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) Second operand 569 states. [2022-04-28 10:39:16,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:16,121 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-28 10:39:16,121 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-28 10:39:16,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:16,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:16,123 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:16,123 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:16,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 564 states, 486 states have (on average 1.1563786008230452) internal successors, (562), 532 states have internal predecessors, (562), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (58), 26 states have call predecessors, (58), 26 states have call successors, (58) [2022-04-28 10:39:16,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 564 states to 564 states and 648 transitions. [2022-04-28 10:39:16,139 INFO L78 Accepts]: Start accepts. Automaton has 564 states and 648 transitions. Word has length 51 [2022-04-28 10:39:16,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:16,139 INFO L495 AbstractCegarLoop]: Abstraction has 564 states and 648 transitions. [2022-04-28 10:39:16,139 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:16,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 564 states and 648 transitions. [2022-04-28 10:39:17,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 648 edges. 648 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:17,608 INFO L276 IsEmpty]: Start isEmpty. Operand 564 states and 648 transitions. [2022-04-28 10:39:17,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:39:17,611 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:17,611 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:39:17,628 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-28 10:39:17,811 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable64,56 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:17,811 INFO L420 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:17,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:17,812 INFO L85 PathProgramCache]: Analyzing trace with hash -2133704513, now seen corresponding path program 111 times [2022-04-28 10:39:17,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:17,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [71537102] [2022-04-28 10:39:17,815 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:17,815 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:17,815 INFO L85 PathProgramCache]: Analyzing trace with hash -2133704513, now seen corresponding path program 112 times [2022-04-28 10:39:17,815 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:17,815 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431815776] [2022-04-28 10:39:17,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:17,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:17,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:17,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:17,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:17,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {117302#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {117260#true} is VALID [2022-04-28 10:39:17,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-28 10:39:17,857 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-28 10:39:17,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:17,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:17,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {117303#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {117303#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117304#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {117304#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117305#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,952 INFO L290 TraceCheckUtils]: 3: Hoare triple {117305#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117306#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,953 INFO L290 TraceCheckUtils]: 4: Hoare triple {117306#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117307#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 4 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {117307#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 4 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117308#(and (<= (+ (* 4 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:17,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {117308#(and (<= (+ (* 4 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {117309#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:17,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {117309#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,955 INFO L290 TraceCheckUtils]: 10: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:17,957 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {117260#true} #111#return; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:17,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:39:17,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:18,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {117311#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {117311#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117312#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {117312#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117313#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,092 INFO L290 TraceCheckUtils]: 3: Hoare triple {117313#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117314#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,093 INFO L290 TraceCheckUtils]: 4: Hoare triple {117314#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117315#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* student_version_~a 4)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {117315#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* student_version_~a 4)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {117316#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} is VALID [2022-04-28 10:39:18,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {117316#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,094 INFO L290 TraceCheckUtils]: 7: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,094 INFO L290 TraceCheckUtils]: 10: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,095 INFO L290 TraceCheckUtils]: 11: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,096 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {117261#false} is VALID [2022-04-28 10:39:18,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {117260#true} call ULTIMATE.init(); {117302#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:39:18,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {117302#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {117260#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L290 TraceCheckUtils]: 6: Hoare triple {117260#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {117260#true} is VALID [2022-04-28 10:39:18,097 INFO L272 TraceCheckUtils]: 7: Hoare triple {117260#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:18,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {117303#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {117303#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117304#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,099 INFO L290 TraceCheckUtils]: 10: Hoare triple {117304#(and (= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117305#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {117305#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117306#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,100 INFO L290 TraceCheckUtils]: 12: Hoare triple {117306#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 3 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117307#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 4 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {117307#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 4 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117308#(and (<= (+ (* 4 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:18,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {117308#(and (<= (+ (* 4 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {117309#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:18,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {117309#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,101 INFO L290 TraceCheckUtils]: 16: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,101 INFO L290 TraceCheckUtils]: 17: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,103 INFO L290 TraceCheckUtils]: 23: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,103 INFO L290 TraceCheckUtils]: 24: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,104 INFO L290 TraceCheckUtils]: 25: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:18,104 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {117260#true} #111#return; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:18,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:18,105 INFO L272 TraceCheckUtils]: 28: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:18,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {117311#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {117311#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117312#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {117312#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 student_version_~a) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117313#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,107 INFO L290 TraceCheckUtils]: 32: Hoare triple {117313#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 2 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117314#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,107 INFO L290 TraceCheckUtils]: 33: Hoare triple {117314#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 3 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117315#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* student_version_~a 4)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-28 10:39:18,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {117315#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* student_version_~a 4)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {117316#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} is VALID [2022-04-28 10:39:18,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {117316#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,108 INFO L290 TraceCheckUtils]: 36: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,108 INFO L290 TraceCheckUtils]: 37: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,109 INFO L290 TraceCheckUtils]: 38: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,109 INFO L290 TraceCheckUtils]: 39: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,109 INFO L290 TraceCheckUtils]: 41: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,110 INFO L290 TraceCheckUtils]: 42: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,110 INFO L290 TraceCheckUtils]: 43: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,110 INFO L290 TraceCheckUtils]: 44: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:18,111 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L290 TraceCheckUtils]: 46: Hoare triple {117261#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L272 TraceCheckUtils]: 47: Hoare triple {117261#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-28 10:39:18,111 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 27 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-28 10:39:18,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:18,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1431815776] [2022-04-28 10:39:18,112 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1431815776] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:18,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [867688212] [2022-04-28 10:39:18,112 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:39:18,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:18,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:18,113 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:18,113 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Waiting until timeout for monitored process [2022-04-28 10:39:18,186 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:39:18,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:18,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:39:18,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:18,200 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:19,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {117260#true} call ULTIMATE.init(); {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {117260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {117260#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {117260#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {117260#true} is VALID [2022-04-28 10:39:19,064 INFO L272 TraceCheckUtils]: 7: Hoare triple {117260#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:19,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {117345#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:19,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {117345#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117349#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:19,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {117349#(and (<= correct_version_~n |correct_version_#in~n|) (<= correct_version_~a correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117353#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:19,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {117353#(and (<= (* 2 correct_version_~a) correct_version_~b~0) (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117357#(and (<= correct_version_~n |correct_version_#in~n|) (<= (* 3 correct_version_~a) correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:19,067 INFO L290 TraceCheckUtils]: 12: Hoare triple {117357#(and (<= correct_version_~n |correct_version_#in~n|) (<= (* 3 correct_version_~a) correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117361#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| (div correct_version_~b~0 4)))} is VALID [2022-04-28 10:39:19,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {117361#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| (div correct_version_~b~0 4)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,068 INFO L290 TraceCheckUtils]: 14: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,070 INFO L290 TraceCheckUtils]: 23: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,070 INFO L290 TraceCheckUtils]: 25: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:19,071 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {117260#true} #111#return; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:19,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:19,071 INFO L272 TraceCheckUtils]: 28: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:19,072 INFO L290 TraceCheckUtils]: 29: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {117413#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:39:19,072 INFO L290 TraceCheckUtils]: 30: Hoare triple {117413#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117417#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} is VALID [2022-04-28 10:39:19,073 INFO L290 TraceCheckUtils]: 31: Hoare triple {117417#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117421#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:39:19,073 INFO L290 TraceCheckUtils]: 32: Hoare triple {117421#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* 2 student_version_~a)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117425#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:39:19,074 INFO L290 TraceCheckUtils]: 33: Hoare triple {117425#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117429#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 4)) |student_version_#in~a|))} is VALID [2022-04-28 10:39:19,074 INFO L290 TraceCheckUtils]: 34: Hoare triple {117429#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 4)) |student_version_#in~a|))} assume !(~b~1 < ~n); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,075 INFO L290 TraceCheckUtils]: 35: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,075 INFO L290 TraceCheckUtils]: 36: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,075 INFO L290 TraceCheckUtils]: 37: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,075 INFO L290 TraceCheckUtils]: 38: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,076 INFO L290 TraceCheckUtils]: 40: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,076 INFO L290 TraceCheckUtils]: 41: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,076 INFO L290 TraceCheckUtils]: 42: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,077 INFO L290 TraceCheckUtils]: 43: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,077 INFO L290 TraceCheckUtils]: 44: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:19,078 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L290 TraceCheckUtils]: 46: Hoare triple {117261#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L272 TraceCheckUtils]: 47: Hoare triple {117261#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-28 10:39:19,078 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 10:39:19,078 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:20,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-28 10:39:20,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-28 10:39:20,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-28 10:39:20,281 INFO L272 TraceCheckUtils]: 47: Hoare triple {117261#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {117261#false} is VALID [2022-04-28 10:39:20,282 INFO L290 TraceCheckUtils]: 46: Hoare triple {117261#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {117261#false} is VALID [2022-04-28 10:39:20,282 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {117261#false} is VALID [2022-04-28 10:39:20,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,283 INFO L290 TraceCheckUtils]: 41: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,285 INFO L290 TraceCheckUtils]: 36: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,285 INFO L290 TraceCheckUtils]: 34: Hoare triple {117532#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {117317#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-28 10:39:20,286 INFO L290 TraceCheckUtils]: 33: Hoare triple {117536#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117532#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-28 10:39:20,286 INFO L290 TraceCheckUtils]: 32: Hoare triple {117540#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117536#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} is VALID [2022-04-28 10:39:20,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {117544#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 4)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117540#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} is VALID [2022-04-28 10:39:20,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {117548#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 (* student_version_~a 4)) student_version_~n))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {117544#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 4)))} is VALID [2022-04-28 10:39:20,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {117548#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 (* student_version_~a 4)) student_version_~n))} is VALID [2022-04-28 10:39:20,288 INFO L272 TraceCheckUtils]: 28: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:20,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:20,289 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {117260#true} #111#return; {117284#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-28 10:39:20,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,289 INFO L290 TraceCheckUtils]: 24: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {117600#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117310#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-28 10:39:20,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {117604#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117600#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:20,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {117608#(or (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117604#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:20,294 INFO L290 TraceCheckUtils]: 10: Hoare triple {117612#(or (<= correct_version_~n (+ correct_version_~b~0 (* 3 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117608#(or (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:20,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {117616#(or (<= correct_version_~n (+ correct_version_~b~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {117612#(or (<= correct_version_~n (+ correct_version_~b~0 (* 3 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:20,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {117260#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {117616#(or (<= correct_version_~n (+ correct_version_~b~0 (* 4 correct_version_~a))) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-28 10:39:20,295 INFO L272 TraceCheckUtils]: 7: Hoare triple {117260#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L290 TraceCheckUtils]: 6: Hoare triple {117260#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {117260#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {117260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {117260#true} is VALID [2022-04-28 10:39:20,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {117260#true} call ULTIMATE.init(); {117260#true} is VALID [2022-04-28 10:39:20,296 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 5 proven. 20 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 10:39:20,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [867688212] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:20,296 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:20,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-28 10:39:20,296 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:20,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [71537102] [2022-04-28 10:39:20,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [71537102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:20,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:20,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:39:20,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [929695331] [2022-04-28 10:39:20,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:20,297 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:39:20,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:20,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:20,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:20,324 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:39:20,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:20,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:39:20,324 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:39:20,325 INFO L87 Difference]: Start difference. First operand 564 states and 648 transitions. Second operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:28,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:28,870 INFO L93 Difference]: Finished difference Result 578 states and 661 transitions. [2022-04-28 10:39:28,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:39:28,870 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-28 10:39:28,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:28,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:28,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 129 transitions. [2022-04-28 10:39:28,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:28,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 129 transitions. [2022-04-28 10:39:28,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 129 transitions. [2022-04-28 10:39:28,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:28,979 INFO L225 Difference]: With dead ends: 578 [2022-04-28 10:39:28,979 INFO L226 Difference]: Without dead ends: 554 [2022-04-28 10:39:28,982 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 80 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 361 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=237, Invalid=2519, Unknown=0, NotChecked=0, Total=2756 [2022-04-28 10:39:28,982 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 162 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 1261 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 171 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 1282 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 1261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:39:28,983 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [171 Valid, 134 Invalid, 1282 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 1261 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 10:39:28,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 554 states. [2022-04-28 10:39:35,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 554 to 552. [2022-04-28 10:39:35,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:35,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 554 states. Second operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) [2022-04-28 10:39:35,265 INFO L74 IsIncluded]: Start isIncluded. First operand 554 states. Second operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) [2022-04-28 10:39:35,265 INFO L87 Difference]: Start difference. First operand 554 states. Second operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) [2022-04-28 10:39:35,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:35,277 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-28 10:39:35,277 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-28 10:39:35,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:35,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:35,279 INFO L74 IsIncluded]: Start isIncluded. First operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) Second operand 554 states. [2022-04-28 10:39:35,279 INFO L87 Difference]: Start difference. First operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) Second operand 554 states. [2022-04-28 10:39:35,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:35,290 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-28 10:39:35,290 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-28 10:39:35,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:35,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:35,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:35,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:35,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 552 states, 474 states have (on average 1.1561181434599157) internal successors, (548), 520 states have internal predecessors, (548), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (52), 26 states have call predecessors, (52), 26 states have call successors, (52) [2022-04-28 10:39:35,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 628 transitions. [2022-04-28 10:39:35,306 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 628 transitions. Word has length 51 [2022-04-28 10:39:35,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:35,306 INFO L495 AbstractCegarLoop]: Abstraction has 552 states and 628 transitions. [2022-04-28 10:39:35,307 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.894736842105263) internal successors, (36), 18 states have internal predecessors, (36), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:35,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 552 states and 628 transitions. [2022-04-28 10:39:36,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 628 edges. 628 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:36,708 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 628 transitions. [2022-04-28 10:39:36,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 10:39:36,718 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:36,719 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:39:36,735 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Forceful destruction successful, exit code 0 [2022-04-28 10:39:36,919 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable65,57 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:36,919 INFO L420 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:36,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:36,920 INFO L85 PathProgramCache]: Analyzing trace with hash -2068699601, now seen corresponding path program 113 times [2022-04-28 10:39:36,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:36,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1414228809] [2022-04-28 10:39:36,922 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:36,922 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:36,922 INFO L85 PathProgramCache]: Analyzing trace with hash -2068699601, now seen corresponding path program 114 times [2022-04-28 10:39:36,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:36,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1625292568] [2022-04-28 10:39:36,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:36,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:36,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:36,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:36,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:36,956 INFO L290 TraceCheckUtils]: 0: Hoare triple {121082#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {121039#true} is VALID [2022-04-28 10:39:36,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-28 10:39:36,956 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-28 10:39:36,956 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:36,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:37,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,082 INFO L290 TraceCheckUtils]: 3: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:39:37,083 INFO L290 TraceCheckUtils]: 4: Hoare triple {121084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121085#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {121085#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121086#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,084 INFO L290 TraceCheckUtils]: 6: Hoare triple {121086#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121087#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:39:37,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {121087#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121088#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {121088#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121089#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {121089#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121090#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 7 correct_version_~a)))} is VALID [2022-04-28 10:39:37,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {121090#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 7 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121091#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:39:37,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {121091#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,088 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {121039#true} #111#return; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:37,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:39:37,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:37,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,308 INFO L290 TraceCheckUtils]: 3: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121094#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:39:37,308 INFO L290 TraceCheckUtils]: 4: Hoare triple {121094#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121095#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {121095#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121096#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,309 INFO L290 TraceCheckUtils]: 6: Hoare triple {121096#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121097#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:39:37,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {121097#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121098#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {121098#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121099#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {121099#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121100#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {121100#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121101#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 8 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,312 INFO L290 TraceCheckUtils]: 11: Hoare triple {121101#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 8 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121102#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,312 INFO L290 TraceCheckUtils]: 12: Hoare triple {121102#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,314 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {121062#(<= main_~m~0 (* main_~a~0 8))} #113#return; {121040#false} is VALID [2022-04-28 10:39:37,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {121039#true} call ULTIMATE.init(); {121082#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:39:37,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {121082#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {121039#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L290 TraceCheckUtils]: 6: Hoare triple {121039#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L272 TraceCheckUtils]: 7: Hoare triple {121039#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:37,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,316 INFO L290 TraceCheckUtils]: 10: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-28 10:39:37,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {121083#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} is VALID [2022-04-28 10:39:37,317 INFO L290 TraceCheckUtils]: 12: Hoare triple {121084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121085#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {121085#(and (<= correct_version_~l~0 (* 2 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121086#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {121086#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121087#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} is VALID [2022-04-28 10:39:37,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {121087#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 4 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121088#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,319 INFO L290 TraceCheckUtils]: 16: Hoare triple {121088#(and (<= correct_version_~l~0 (* 5 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121089#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:39:37,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {121089#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121090#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 7 correct_version_~a)))} is VALID [2022-04-28 10:39:37,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {121090#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 (* 7 correct_version_~a)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121091#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-28 10:39:37,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {121091#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:37,322 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {121039#true} #111#return; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:37,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:37,323 INFO L272 TraceCheckUtils]: 27: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:37,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,323 INFO L290 TraceCheckUtils]: 29: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,324 INFO L290 TraceCheckUtils]: 30: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {121093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121094#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:39:37,325 INFO L290 TraceCheckUtils]: 32: Hoare triple {121094#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121095#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,325 INFO L290 TraceCheckUtils]: 33: Hoare triple {121095#(and (= |student_version_#in~a| student_version_~a) (<= (* 2 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121096#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,326 INFO L290 TraceCheckUtils]: 34: Hoare triple {121096#(and (= |student_version_#in~a| student_version_~a) (<= (* 3 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121097#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:39:37,326 INFO L290 TraceCheckUtils]: 35: Hoare triple {121097#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121098#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,327 INFO L290 TraceCheckUtils]: 36: Hoare triple {121098#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121099#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,327 INFO L290 TraceCheckUtils]: 37: Hoare triple {121099#(and (= |student_version_#in~a| student_version_~a) (<= (* 6 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121100#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {121100#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 7 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121101#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 8 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:37,328 INFO L290 TraceCheckUtils]: 39: Hoare triple {121101#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* 8 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121102#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:39:37,328 INFO L290 TraceCheckUtils]: 40: Hoare triple {121102#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,329 INFO L290 TraceCheckUtils]: 41: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,329 INFO L290 TraceCheckUtils]: 42: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,329 INFO L290 TraceCheckUtils]: 43: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,329 INFO L290 TraceCheckUtils]: 44: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,330 INFO L290 TraceCheckUtils]: 45: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:37,330 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {121062#(<= main_~m~0 (* main_~a~0 8))} #113#return; {121040#false} is VALID [2022-04-28 10:39:37,330 INFO L290 TraceCheckUtils]: 47: Hoare triple {121040#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {121040#false} is VALID [2022-04-28 10:39:37,331 INFO L272 TraceCheckUtils]: 48: Hoare triple {121040#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {121040#false} is VALID [2022-04-28 10:39:37,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-28 10:39:37,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-28 10:39:37,331 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-28 10:39:37,331 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:39:37,331 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:37,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1625292568] [2022-04-28 10:39:37,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1625292568] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:37,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [851320579] [2022-04-28 10:39:37,331 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:39:37,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:37,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:37,332 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:37,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2022-04-28 10:39:37,411 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 10:39:37,411 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:37,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 10:39:37,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:37,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:38,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {121039#true} call ULTIMATE.init(); {121039#true} is VALID [2022-04-28 10:39:38,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {121039#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {121039#true} is VALID [2022-04-28 10:39:38,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-28 10:39:38,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-28 10:39:38,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-28 10:39:38,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {121039#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {121039#true} is VALID [2022-04-28 10:39:38,657 INFO L290 TraceCheckUtils]: 6: Hoare triple {121039#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {121039#true} is VALID [2022-04-28 10:39:38,657 INFO L272 TraceCheckUtils]: 7: Hoare triple {121039#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:38,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,658 INFO L290 TraceCheckUtils]: 10: Hoare triple {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,658 INFO L290 TraceCheckUtils]: 11: Hoare triple {121131#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121141#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,659 INFO L290 TraceCheckUtils]: 12: Hoare triple {121141#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 correct_version_~a) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121145#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {121145#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 2 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121149#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {121149#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121153#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {121153#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 4 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121157#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {121157#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121161#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {121161#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121165#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 7 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {121165#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 7 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121169#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 8)) |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,662 INFO L290 TraceCheckUtils]: 19: Hoare triple {121169#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 8)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,663 INFO L290 TraceCheckUtils]: 22: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:38,665 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {121039#true} #111#return; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:38,665 INFO L290 TraceCheckUtils]: 26: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:38,665 INFO L272 TraceCheckUtils]: 27: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:38,665 INFO L290 TraceCheckUtils]: 28: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {121200#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121210#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} is VALID [2022-04-28 10:39:38,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {121210#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= student_version_~a student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121214#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,668 INFO L290 TraceCheckUtils]: 33: Hoare triple {121214#(and (<= student_version_~m |student_version_#in~m|) (<= (* 2 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121218#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,668 INFO L290 TraceCheckUtils]: 34: Hoare triple {121218#(and (<= student_version_~m |student_version_#in~m|) (<= (* 3 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121222#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} is VALID [2022-04-28 10:39:38,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {121222#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* student_version_~a 4) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121226#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} is VALID [2022-04-28 10:39:38,669 INFO L290 TraceCheckUtils]: 36: Hoare triple {121226#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121230#(and (<= student_version_~m |student_version_#in~m|) (<= (* 6 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,670 INFO L290 TraceCheckUtils]: 37: Hoare triple {121230#(and (<= student_version_~m |student_version_#in~m|) (<= (* 6 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121234#(and (<= student_version_~m |student_version_#in~m|) (<= (* 7 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-28 10:39:38,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {121234#(and (<= student_version_~m |student_version_#in~m|) (<= (* 7 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121238#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 8)))} is VALID [2022-04-28 10:39:38,671 INFO L290 TraceCheckUtils]: 39: Hoare triple {121238#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 8)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,671 INFO L290 TraceCheckUtils]: 40: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,671 INFO L290 TraceCheckUtils]: 41: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,671 INFO L290 TraceCheckUtils]: 42: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,672 INFO L290 TraceCheckUtils]: 43: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:38,673 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {121062#(<= main_~m~0 (* main_~a~0 8))} #113#return; {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L290 TraceCheckUtils]: 47: Hoare triple {121040#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L272 TraceCheckUtils]: 48: Hoare triple {121040#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-28 10:39:38,673 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:39:38,674 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:40,719 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-28 10:39:40,719 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-28 10:39:40,719 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-28 10:39:40,719 INFO L272 TraceCheckUtils]: 48: Hoare triple {121040#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {121040#false} is VALID [2022-04-28 10:39:40,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {121040#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {121040#false} is VALID [2022-04-28 10:39:40,720 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {121062#(<= main_~m~0 (* main_~a~0 8))} #113#return; {121040#false} is VALID [2022-04-28 10:39:40,721 INFO L290 TraceCheckUtils]: 45: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,721 INFO L290 TraceCheckUtils]: 44: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,721 INFO L290 TraceCheckUtils]: 43: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,721 INFO L290 TraceCheckUtils]: 42: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,722 INFO L290 TraceCheckUtils]: 41: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,722 INFO L290 TraceCheckUtils]: 39: Hoare triple {121317#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121103#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-28 10:39:40,723 INFO L290 TraceCheckUtils]: 38: Hoare triple {121321#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121317#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-28 10:39:40,723 INFO L290 TraceCheckUtils]: 37: Hoare triple {121325#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121321#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-28 10:39:40,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {121329#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121325#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-28 10:39:40,724 INFO L290 TraceCheckUtils]: 35: Hoare triple {121333#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121329#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,725 INFO L290 TraceCheckUtils]: 34: Hoare triple {121337#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121333#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))))} is VALID [2022-04-28 10:39:40,725 INFO L290 TraceCheckUtils]: 33: Hoare triple {121341#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121337#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {121345#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121341#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {121345#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} assume !(~b~1 < ~n); {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,727 INFO L290 TraceCheckUtils]: 29: Hoare triple {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,727 INFO L290 TraceCheckUtils]: 28: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {121349#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} is VALID [2022-04-28 10:39:40,727 INFO L272 TraceCheckUtils]: 27: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:40,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {121062#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:40,728 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {121039#true} #111#return; {121062#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-28 10:39:40,729 INFO L290 TraceCheckUtils]: 24: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,729 INFO L290 TraceCheckUtils]: 22: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {121386#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {121092#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-28 10:39:40,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {121390#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121386#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-28 10:39:40,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {121394#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121390#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-28 10:39:40,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {121398#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121394#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} is VALID [2022-04-28 10:39:40,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {121402#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121398#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} is VALID [2022-04-28 10:39:40,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {121406#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121402#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} is VALID [2022-04-28 10:39:40,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {121410#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121406#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:39:40,734 INFO L290 TraceCheckUtils]: 12: Hoare triple {121414#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121410#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:39:40,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {121414#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)))} is VALID [2022-04-28 10:39:40,735 INFO L290 TraceCheckUtils]: 10: Hoare triple {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} assume !(~b~0 < ~n); {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:39:40,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:39:40,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {121039#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {121418#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} is VALID [2022-04-28 10:39:40,736 INFO L272 TraceCheckUtils]: 7: Hoare triple {121039#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L290 TraceCheckUtils]: 6: Hoare triple {121039#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {121039#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {121039#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {121039#true} call ULTIMATE.init(); {121039#true} is VALID [2022-04-28 10:39:40,736 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 9 proven. 72 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:39:40,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [851320579] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:40,736 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:40,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-28 10:39:40,737 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:40,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1414228809] [2022-04-28 10:39:40,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1414228809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:40,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:40,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:39:40,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1774473981] [2022-04-28 10:39:40,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:40,737 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:39:40,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:40,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:40,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:40,769 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:39:40,769 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:40,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:39:40,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-28 10:39:40,770 INFO L87 Difference]: Start difference. First operand 552 states and 628 transitions. Second operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:53,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:53,529 INFO L93 Difference]: Finished difference Result 642 states and 735 transitions. [2022-04-28 10:39:53,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:39:53,529 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:39:53,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:53,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:53,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 178 transitions. [2022-04-28 10:39:53,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:39:53,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 178 transitions. [2022-04-28 10:39:53,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 178 transitions. [2022-04-28 10:39:53,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:53,686 INFO L225 Difference]: With dead ends: 642 [2022-04-28 10:39:53,686 INFO L226 Difference]: Without dead ends: 628 [2022-04-28 10:39:53,702 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 902 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=343, Invalid=6299, Unknown=0, NotChecked=0, Total=6642 [2022-04-28 10:39:53,702 INFO L413 NwaCegarLoop]: 106 mSDtfsCounter, 210 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 3368 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 222 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 3394 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 3368 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:39:53,702 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [222 Valid, 218 Invalid, 3394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 3368 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-28 10:39:53,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 628 states. [2022-04-28 10:40:01,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 628 to 619. [2022-04-28 10:40:01,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:01,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 628 states. Second operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) [2022-04-28 10:40:01,118 INFO L74 IsIncluded]: Start isIncluded. First operand 628 states. Second operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) [2022-04-28 10:40:01,119 INFO L87 Difference]: Start difference. First operand 628 states. Second operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) [2022-04-28 10:40:01,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:01,133 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-28 10:40:01,133 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-28 10:40:01,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:01,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:01,136 INFO L74 IsIncluded]: Start isIncluded. First operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) Second operand 628 states. [2022-04-28 10:40:01,137 INFO L87 Difference]: Start difference. First operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) Second operand 628 states. [2022-04-28 10:40:01,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:01,151 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-28 10:40:01,151 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-28 10:40:01,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:01,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:01,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:01,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:01,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 619 states, 532 states have (on average 1.1541353383458646) internal successors, (614), 584 states have internal predecessors, (614), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (61), 29 states have call predecessors, (61), 29 states have call successors, (61) [2022-04-28 10:40:01,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 619 states to 619 states and 706 transitions. [2022-04-28 10:40:01,172 INFO L78 Accepts]: Start accepts. Automaton has 619 states and 706 transitions. Word has length 52 [2022-04-28 10:40:01,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:01,172 INFO L495 AbstractCegarLoop]: Abstraction has 619 states and 706 transitions. [2022-04-28 10:40:01,172 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:01,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 619 states and 706 transitions. [2022-04-28 10:40:02,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 706 edges. 706 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:02,793 INFO L276 IsEmpty]: Start isEmpty. Operand 619 states and 706 transitions. [2022-04-28 10:40:02,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 10:40:02,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:02,797 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:40:02,813 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:02,997 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 58 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable66 [2022-04-28 10:40:02,997 INFO L420 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:02,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:02,998 INFO L85 PathProgramCache]: Analyzing trace with hash 333057708, now seen corresponding path program 115 times [2022-04-28 10:40:02,998 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:02,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [573778990] [2022-04-28 10:40:03,000 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:03,000 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:03,000 INFO L85 PathProgramCache]: Analyzing trace with hash 333057708, now seen corresponding path program 116 times [2022-04-28 10:40:03,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:03,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [195063540] [2022-04-28 10:40:03,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:03,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:03,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:03,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:03,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:03,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {125314#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {125271#true} is VALID [2022-04-28 10:40:03,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-28 10:40:03,034 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-28 10:40:03,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:03,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:03,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125316#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,182 INFO L290 TraceCheckUtils]: 4: Hoare triple {125316#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125317#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {125317#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125318#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {125318#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125319#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {125319#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125320#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:40:03,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {125320#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125321#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {125321#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125322#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {125322#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125323#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:40:03,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {125323#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125324#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:40:03,185 INFO L290 TraceCheckUtils]: 12: Hoare triple {125324#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,187 INFO L290 TraceCheckUtils]: 16: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,188 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {125271#true} #111#return; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:03,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:40:03,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:03,384 INFO L290 TraceCheckUtils]: 0: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125327#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:40:03,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {125327#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125328#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:40:03,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {125328#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125329#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:40:03,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {125329#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125330#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:40:03,388 INFO L290 TraceCheckUtils]: 7: Hoare triple {125330#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125331#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:40:03,388 INFO L290 TraceCheckUtils]: 8: Hoare triple {125331#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125332#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:40:03,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {125332#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125333#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 7 student_version_~a)))} is VALID [2022-04-28 10:40:03,389 INFO L290 TraceCheckUtils]: 10: Hoare triple {125333#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 7 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125334#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:40:03,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {125334#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,392 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {125272#false} is VALID [2022-04-28 10:40:03,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {125271#true} call ULTIMATE.init(); {125314#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:40:03,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {125314#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {125271#true} is VALID [2022-04-28 10:40:03,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-28 10:40:03,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-28 10:40:03,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-28 10:40:03,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {125271#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {125271#true} is VALID [2022-04-28 10:40:03,392 INFO L290 TraceCheckUtils]: 6: Hoare triple {125271#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {125271#true} is VALID [2022-04-28 10:40:03,393 INFO L272 TraceCheckUtils]: 7: Hoare triple {125271#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:03,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,394 INFO L290 TraceCheckUtils]: 10: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,394 INFO L290 TraceCheckUtils]: 11: Hoare triple {125315#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125316#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {125316#(and (<= correct_version_~a correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125317#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {125317#(and (<= (* 2 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125318#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {125318#(and (<= (* 3 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125319#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {125319#(and (<= (* 4 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125320#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:40:03,397 INFO L290 TraceCheckUtils]: 16: Hoare triple {125320#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125321#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,397 INFO L290 TraceCheckUtils]: 17: Hoare triple {125321#(and (<= (* 6 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125322#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:03,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {125322#(and (<= (* 7 correct_version_~a) correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125323#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:40:03,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {125323#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125324#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-28 10:40:03,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {125324#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,400 INFO L290 TraceCheckUtils]: 24: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:03,400 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {125271#true} #111#return; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:03,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:03,401 INFO L272 TraceCheckUtils]: 28: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:03,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-28 10:40:03,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {125326#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125327#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} is VALID [2022-04-28 10:40:03,403 INFO L290 TraceCheckUtils]: 33: Hoare triple {125327#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125328#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:40:03,403 INFO L290 TraceCheckUtils]: 34: Hoare triple {125328#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125329#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} is VALID [2022-04-28 10:40:03,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {125329#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125330#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} is VALID [2022-04-28 10:40:03,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {125330#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* student_version_~a 4)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125331#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:40:03,405 INFO L290 TraceCheckUtils]: 37: Hoare triple {125331#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125332#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:40:03,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {125332#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125333#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 7 student_version_~a)))} is VALID [2022-04-28 10:40:03,406 INFO L290 TraceCheckUtils]: 39: Hoare triple {125333#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 7 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125334#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-28 10:40:03,406 INFO L290 TraceCheckUtils]: 40: Hoare triple {125334#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,406 INFO L290 TraceCheckUtils]: 41: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,407 INFO L290 TraceCheckUtils]: 42: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,407 INFO L290 TraceCheckUtils]: 43: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,407 INFO L290 TraceCheckUtils]: 45: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:03,408 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {125272#false} is VALID [2022-04-28 10:40:03,408 INFO L290 TraceCheckUtils]: 47: Hoare triple {125272#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {125272#false} is VALID [2022-04-28 10:40:03,408 INFO L272 TraceCheckUtils]: 48: Hoare triple {125272#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {125272#false} is VALID [2022-04-28 10:40:03,408 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-28 10:40:03,408 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-28 10:40:03,408 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-28 10:40:03,409 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:40:03,409 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:03,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [195063540] [2022-04-28 10:40:03,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [195063540] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:03,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1335665223] [2022-04-28 10:40:03,409 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:40:03,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:03,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:03,410 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:03,411 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2022-04-28 10:40:03,490 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:40:03,490 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:03,491 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 10:40:03,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:03,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:04,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {125271#true} call ULTIMATE.init(); {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {125271#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {125271#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L290 TraceCheckUtils]: 6: Hoare triple {125271#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {125271#true} is VALID [2022-04-28 10:40:04,717 INFO L272 TraceCheckUtils]: 7: Hoare triple {125271#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:04,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,718 INFO L290 TraceCheckUtils]: 10: Hoare triple {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {125363#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125373#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,719 INFO L290 TraceCheckUtils]: 12: Hoare triple {125373#(and (<= correct_version_~m |correct_version_#in~m|) (<= correct_version_~a correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125377#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {125377#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 2 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125381#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {125381#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 3 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125385#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {125385#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 4 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125389#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-28 10:40:04,721 INFO L290 TraceCheckUtils]: 16: Hoare triple {125389#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 5 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125393#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 6 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,722 INFO L290 TraceCheckUtils]: 17: Hoare triple {125393#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 6 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125397#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 7 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-28 10:40:04,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {125397#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 7 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125401#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 8)))} is VALID [2022-04-28 10:40:04,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {125401#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 8)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,724 INFO L290 TraceCheckUtils]: 22: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:04,726 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {125271#true} #111#return; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:04,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:04,726 INFO L272 TraceCheckUtils]: 28: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:04,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {125435#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125445#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {125445#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 student_version_~a) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125449#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} is VALID [2022-04-28 10:40:04,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {125449#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 2 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125453#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,729 INFO L290 TraceCheckUtils]: 35: Hoare triple {125453#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 3 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125457#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {125457#(and (<= student_version_~l~1 (* student_version_~a 4)) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125461#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} is VALID [2022-04-28 10:40:04,730 INFO L290 TraceCheckUtils]: 37: Hoare triple {125461#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125465#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 6 student_version_~a)))} is VALID [2022-04-28 10:40:04,731 INFO L290 TraceCheckUtils]: 38: Hoare triple {125465#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 6 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125469#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 7 student_version_~a)))} is VALID [2022-04-28 10:40:04,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {125469#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 7 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125473#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 8)) |student_version_#in~a|))} is VALID [2022-04-28 10:40:04,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {125473#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 8)) |student_version_#in~a|))} assume !(~l~1 < ~m); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,732 INFO L290 TraceCheckUtils]: 41: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,732 INFO L290 TraceCheckUtils]: 42: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,733 INFO L290 TraceCheckUtils]: 44: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:04,733 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L290 TraceCheckUtils]: 47: Hoare triple {125272#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L272 TraceCheckUtils]: 48: Hoare triple {125272#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-28 10:40:04,734 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:40:04,734 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:06,810 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-28 10:40:06,810 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-28 10:40:06,810 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-28 10:40:06,811 INFO L272 TraceCheckUtils]: 48: Hoare triple {125272#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {125272#false} is VALID [2022-04-28 10:40:06,811 INFO L290 TraceCheckUtils]: 47: Hoare triple {125272#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {125272#false} is VALID [2022-04-28 10:40:06,811 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {125272#false} is VALID [2022-04-28 10:40:06,812 INFO L290 TraceCheckUtils]: 45: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,812 INFO L290 TraceCheckUtils]: 44: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,812 INFO L290 TraceCheckUtils]: 43: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,812 INFO L290 TraceCheckUtils]: 42: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,813 INFO L290 TraceCheckUtils]: 41: Hoare triple {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,813 INFO L290 TraceCheckUtils]: 40: Hoare triple {125546#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {125335#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-28 10:40:06,814 INFO L290 TraceCheckUtils]: 39: Hoare triple {125550#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125546#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-28 10:40:06,814 INFO L290 TraceCheckUtils]: 38: Hoare triple {125554#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125550#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-28 10:40:06,815 INFO L290 TraceCheckUtils]: 37: Hoare triple {125558#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125554#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-28 10:40:06,815 INFO L290 TraceCheckUtils]: 36: Hoare triple {125562#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125558#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:40:06,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {125566#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125562#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-28 10:40:06,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {125570#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125566#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:40:06,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {125574#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125570#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:40:06,817 INFO L290 TraceCheckUtils]: 32: Hoare triple {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {125574#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-28 10:40:06,817 INFO L290 TraceCheckUtils]: 31: Hoare triple {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} assume !(~b~1 < ~n); {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} is VALID [2022-04-28 10:40:06,818 INFO L290 TraceCheckUtils]: 30: Hoare triple {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} is VALID [2022-04-28 10:40:06,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {125578#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 8)))} is VALID [2022-04-28 10:40:06,818 INFO L272 TraceCheckUtils]: 28: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:06,819 INFO L290 TraceCheckUtils]: 27: Hoare triple {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:06,819 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {125271#true} #111#return; {125295#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-28 10:40:06,819 INFO L290 TraceCheckUtils]: 25: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,820 INFO L290 TraceCheckUtils]: 23: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,821 INFO L290 TraceCheckUtils]: 21: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,821 INFO L290 TraceCheckUtils]: 20: Hoare triple {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,821 INFO L290 TraceCheckUtils]: 19: Hoare triple {125618#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125325#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-28 10:40:06,822 INFO L290 TraceCheckUtils]: 18: Hoare triple {125622#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125618#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-28 10:40:06,822 INFO L290 TraceCheckUtils]: 17: Hoare triple {125626#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125622#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:40:06,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {125630#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125626#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:40:06,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {125634#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125630#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} is VALID [2022-04-28 10:40:06,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {125638#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125634#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))))} is VALID [2022-04-28 10:40:06,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {125642#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125638#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} is VALID [2022-04-28 10:40:06,825 INFO L290 TraceCheckUtils]: 12: Hoare triple {125646#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125642#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))))} is VALID [2022-04-28 10:40:06,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {125646#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)))} is VALID [2022-04-28 10:40:06,826 INFO L290 TraceCheckUtils]: 10: Hoare triple {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:40:06,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:40:06,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {125271#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {125650#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-28 10:40:06,827 INFO L272 TraceCheckUtils]: 7: Hoare triple {125271#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {125271#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {125271#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {125271#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {125271#true} is VALID [2022-04-28 10:40:06,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {125271#true} call ULTIMATE.init(); {125271#true} is VALID [2022-04-28 10:40:06,828 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 9 proven. 72 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:40:06,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1335665223] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:06,828 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:06,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-28 10:40:06,828 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:06,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [573778990] [2022-04-28 10:40:06,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [573778990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:06,828 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:06,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:40:06,828 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546562790] [2022-04-28 10:40:06,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:06,829 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:40:06,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:06,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:06,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:06,865 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:40:06,865 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:06,866 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:40:06,866 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-28 10:40:06,866 INFO L87 Difference]: Start difference. First operand 619 states and 706 transitions. Second operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:19,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:19,630 INFO L93 Difference]: Finished difference Result 634 states and 721 transitions. [2022-04-28 10:40:19,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:40:19,630 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:40:19,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:19,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:19,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 177 transitions. [2022-04-28 10:40:19,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:19,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 177 transitions. [2022-04-28 10:40:19,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 177 transitions. [2022-04-28 10:40:19,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:19,782 INFO L225 Difference]: With dead ends: 634 [2022-04-28 10:40:19,782 INFO L226 Difference]: Without dead ends: 622 [2022-04-28 10:40:19,785 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 914 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=343, Invalid=6299, Unknown=0, NotChecked=0, Total=6642 [2022-04-28 10:40:19,786 INFO L413 NwaCegarLoop]: 108 mSDtfsCounter, 221 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 3411 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 238 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 3436 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 3411 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:40:19,786 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [238 Valid, 220 Invalid, 3436 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 3411 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-28 10:40:19,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-28 10:40:27,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 620. [2022-04-28 10:40:27,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:27,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 622 states. Second operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) [2022-04-28 10:40:27,334 INFO L74 IsIncluded]: Start isIncluded. First operand 622 states. Second operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) [2022-04-28 10:40:27,335 INFO L87 Difference]: Start difference. First operand 622 states. Second operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) [2022-04-28 10:40:27,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:27,349 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-28 10:40:27,349 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-28 10:40:27,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:27,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:27,353 INFO L74 IsIncluded]: Start isIncluded. First operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) Second operand 622 states. [2022-04-28 10:40:27,353 INFO L87 Difference]: Start difference. First operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) Second operand 622 states. [2022-04-28 10:40:27,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:27,368 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-28 10:40:27,368 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-28 10:40:27,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:27,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:27,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:27,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:27,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 620 states, 533 states have (on average 1.1538461538461537) internal successors, (615), 585 states have internal predecessors, (615), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (57), 29 states have call predecessors, (57), 29 states have call successors, (57) [2022-04-28 10:40:27,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 620 states to 620 states and 703 transitions. [2022-04-28 10:40:27,390 INFO L78 Accepts]: Start accepts. Automaton has 620 states and 703 transitions. Word has length 52 [2022-04-28 10:40:27,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:27,390 INFO L495 AbstractCegarLoop]: Abstraction has 620 states and 703 transitions. [2022-04-28 10:40:27,390 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.76) internal successors, (44), 24 states have internal predecessors, (44), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:27,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 620 states and 703 transitions. [2022-04-28 10:40:29,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 703 edges. 703 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:29,019 INFO L276 IsEmpty]: Start isEmpty. Operand 620 states and 703 transitions. [2022-04-28 10:40:29,022 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 10:40:29,023 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:29,023 INFO L195 NwaCegarLoop]: trace histogram [5, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:40:29,039 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:29,223 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable67 [2022-04-28 10:40:29,223 INFO L420 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:29,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:29,223 INFO L85 PathProgramCache]: Analyzing trace with hash -765588306, now seen corresponding path program 117 times [2022-04-28 10:40:29,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:29,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1343739469] [2022-04-28 10:40:29,225 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:29,226 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:29,226 INFO L85 PathProgramCache]: Analyzing trace with hash -765588306, now seen corresponding path program 118 times [2022-04-28 10:40:29,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:29,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [492513154] [2022-04-28 10:40:29,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:29,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:29,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:29,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:29,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:29,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {129519#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {129477#true} is VALID [2022-04-28 10:40:29,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,264 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-28 10:40:29,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:29,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:29,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {129520#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {129520#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129521#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {129521#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129522#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {129522#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129523#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,355 INFO L290 TraceCheckUtils]: 4: Hoare triple {129523#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129524#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {129524#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {129525#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,357 INFO L290 TraceCheckUtils]: 10: Hoare triple {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,357 INFO L290 TraceCheckUtils]: 11: Hoare triple {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,357 INFO L290 TraceCheckUtils]: 12: Hoare triple {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {129478#false} is VALID [2022-04-28 10:40:29,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-28 10:40:29,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-28 10:40:29,358 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-28 10:40:29,359 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-28 10:40:29,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 3: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 4: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 6: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {129477#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {129477#true} is VALID [2022-04-28 10:40:29,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 10: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 11: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 12: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 16: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L290 TraceCheckUtils]: 17: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,366 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-28 10:40:29,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {129477#true} call ULTIMATE.init(); {129519#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:40:29,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {129519#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {129477#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {129477#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L272 TraceCheckUtils]: 7: Hoare triple {129477#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {129477#true} is VALID [2022-04-28 10:40:29,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {129520#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {129520#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129521#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {129521#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129522#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {129522#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129523#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {129523#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129524#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {129524#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {129525#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {129478#false} is VALID [2022-04-28 10:40:29,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-28 10:40:29,373 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {129478#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {129478#false} is VALID [2022-04-28 10:40:29,373 INFO L272 TraceCheckUtils]: 27: Hoare triple {129478#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 28: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {129477#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 36: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 37: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 38: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 40: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 41: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 42: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 43: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 44: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,374 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 47: Hoare triple {129478#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L272 TraceCheckUtils]: 48: Hoare triple {129478#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-28 10:40:29,374 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:29,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:29,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [492513154] [2022-04-28 10:40:29,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [492513154] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:29,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1149599519] [2022-04-28 10:40:29,375 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:40:29,375 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:29,375 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:29,376 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:29,377 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2022-04-28 10:40:29,465 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:40:29,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:29,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 10:40:29,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:29,476 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:29,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {129477#true} call ULTIMATE.init(); {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {129477#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {129477#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {129477#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {129477#true} is VALID [2022-04-28 10:40:29,682 INFO L272 TraceCheckUtils]: 7: Hoare triple {129477#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {129477#true} is VALID [2022-04-28 10:40:29,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {129520#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {129520#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129521#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,684 INFO L290 TraceCheckUtils]: 10: Hoare triple {129521#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129522#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {129522#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129523#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,684 INFO L290 TraceCheckUtils]: 12: Hoare triple {129523#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129524#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {129524#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,686 INFO L290 TraceCheckUtils]: 16: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {129525#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {129585#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-28 10:40:29,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {129585#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129589#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-28 10:40:29,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {129589#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129593#(and (<= correct_version_~x~0 2) (<= 5 correct_version_~i~0))} is VALID [2022-04-28 10:40:29,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {129593#(and (<= correct_version_~x~0 2) (<= 5 correct_version_~i~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129597#(and (<= correct_version_~x~0 3) (<= 5 correct_version_~i~0))} is VALID [2022-04-28 10:40:29,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {129597#(and (<= correct_version_~x~0 3) (<= 5 correct_version_~i~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129601#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 4))} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {129601#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 4))} assume !(~x~0 < ~i~0); {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {129478#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L272 TraceCheckUtils]: 27: Hoare triple {129478#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 28: Hoare triple {129478#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {129478#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {129478#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129478#false} is VALID [2022-04-28 10:40:29,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {129478#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 32: Hoare triple {129478#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 33: Hoare triple {129478#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {129478#false} assume !(~b~1 < ~n); {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {129478#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {129478#false} assume !(~l~1 < ~m); {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {129478#false} ~x~1 := 0;~y~1 := 0; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {129478#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {129478#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {129478#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {129478#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 42: Hoare triple {129478#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {129478#false} assume !(~x~1 < ~i~1); {129478#false} is VALID [2022-04-28 10:40:29,690 INFO L290 TraceCheckUtils]: 44: Hoare triple {129478#false} #res := ~y~1; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L290 TraceCheckUtils]: 45: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129478#false} {129478#false} #113#return; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L290 TraceCheckUtils]: 47: Hoare triple {129478#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L272 TraceCheckUtils]: 48: Hoare triple {129478#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-28 10:40:29,691 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:29,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:29,866 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-28 10:40:29,866 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-28 10:40:29,866 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-28 10:40:29,867 INFO L272 TraceCheckUtils]: 48: Hoare triple {129478#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {129478#false} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 47: Hoare triple {129478#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {129478#false} is VALID [2022-04-28 10:40:29,867 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 45: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 44: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 42: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 41: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 40: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 38: Hoare triple {129477#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 37: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,867 INFO L290 TraceCheckUtils]: 36: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {129477#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 30: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 29: Hoare triple {129477#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 28: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L272 TraceCheckUtils]: 27: Hoare triple {129478#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {129477#true} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {129478#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {129478#false} is VALID [2022-04-28 10:40:29,868 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-28 10:40:29,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-28 10:40:29,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {129478#false} is VALID [2022-04-28 10:40:29,869 INFO L290 TraceCheckUtils]: 21: Hoare triple {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129530#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129529#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129528#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {129527#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {129525#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {129526#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-28 10:40:29,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {129525#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {129524#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129525#(<= 5 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,872 INFO L290 TraceCheckUtils]: 12: Hoare triple {129523#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129524#(<= 4 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {129522#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129523#(<= 3 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {129521#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129522#(<= 2 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {129520#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {129521#(<= 1 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {129477#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {129520#(<= 0 correct_version_~i~0)} is VALID [2022-04-28 10:40:29,874 INFO L272 TraceCheckUtils]: 7: Hoare triple {129477#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {129477#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {129477#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {129477#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {129477#true} is VALID [2022-04-28 10:40:29,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {129477#true} call ULTIMATE.init(); {129477#true} is VALID [2022-04-28 10:40:29,875 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:29,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1149599519] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:29,875 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:29,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-28 10:40:29,875 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:29,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1343739469] [2022-04-28 10:40:29,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1343739469] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:29,875 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:29,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 10:40:29,875 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027765335] [2022-04-28 10:40:29,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:29,876 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:40:29,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:29,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:29,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:29,900 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 10:40:29,900 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:29,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 10:40:29,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:40:29,900 INFO L87 Difference]: Start difference. First operand 620 states and 703 transitions. Second operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:38,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:38,236 INFO L93 Difference]: Finished difference Result 944 states and 1054 transitions. [2022-04-28 10:40:38,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:40:38,236 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-28 10:40:38,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:38,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:38,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-28 10:40:38,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:38,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-28 10:40:38,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 111 transitions. [2022-04-28 10:40:38,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:38,332 INFO L225 Difference]: With dead ends: 944 [2022-04-28 10:40:38,332 INFO L226 Difference]: Without dead ends: 617 [2022-04-28 10:40:38,337 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 325 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=479, Invalid=1081, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 10:40:38,337 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 75 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:40:38,337 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [77 Valid, 80 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:40:38,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 617 states. [2022-04-28 10:40:45,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 617 to 609. [2022-04-28 10:40:45,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:45,835 INFO L82 GeneralOperation]: Start isEquivalent. First operand 617 states. Second operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:40:45,835 INFO L74 IsIncluded]: Start isIncluded. First operand 617 states. Second operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:40:45,835 INFO L87 Difference]: Start difference. First operand 617 states. Second operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:40:45,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:45,849 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-28 10:40:45,849 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-28 10:40:45,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:45,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:45,852 INFO L74 IsIncluded]: Start isIncluded. First operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) Second operand 617 states. [2022-04-28 10:40:45,852 INFO L87 Difference]: Start difference. First operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) Second operand 617 states. [2022-04-28 10:40:45,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:45,865 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-28 10:40:45,865 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-28 10:40:45,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:45,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:45,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:45,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:45,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 609 states, 528 states have (on average 1.1477272727272727) internal successors, (606), 576 states have internal predecessors, (606), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:40:45,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 686 transitions. [2022-04-28 10:40:45,893 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 686 transitions. Word has length 52 [2022-04-28 10:40:45,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:45,893 INFO L495 AbstractCegarLoop]: Abstraction has 609 states and 686 transitions. [2022-04-28 10:40:45,893 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:40:45,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 609 states and 686 transitions. [2022-04-28 10:40:47,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 686 edges. 686 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:47,471 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 686 transitions. [2022-04-28 10:40:47,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 10:40:47,474 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:47,474 INFO L195 NwaCegarLoop]: trace histogram [5, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:40:47,491 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:47,675 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable68 [2022-04-28 10:40:47,675 INFO L420 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:47,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:47,675 INFO L85 PathProgramCache]: Analyzing trace with hash 295087821, now seen corresponding path program 119 times [2022-04-28 10:40:47,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:47,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1994400192] [2022-04-28 10:40:47,679 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:47,679 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:47,679 INFO L85 PathProgramCache]: Analyzing trace with hash 295087821, now seen corresponding path program 120 times [2022-04-28 10:40:47,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:47,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2017479499] [2022-04-28 10:40:47,679 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:47,679 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:47,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:47,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:47,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:47,718 INFO L290 TraceCheckUtils]: 0: Hoare triple {134271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {134229#true} is VALID [2022-04-28 10:40:47,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:47,719 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-28 10:40:47,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:47,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:47,724 INFO L290 TraceCheckUtils]: 0: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 3: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 4: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 6: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {134229#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 10: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 11: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-28 10:40:47,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-28 10:40:47,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:47,726 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-28 10:40:47,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:40:47,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:47,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {134272#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:40:47,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {134272#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134273#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:40:47,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {134273#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134274#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:40:47,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {134274#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134275#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:40:47,821 INFO L290 TraceCheckUtils]: 4: Hoare triple {134275#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134276#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:40:47,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {134276#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,821 INFO L290 TraceCheckUtils]: 6: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {134277#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,823 INFO L290 TraceCheckUtils]: 10: Hoare triple {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:40:47,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {134230#false} is VALID [2022-04-28 10:40:47,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-28 10:40:47,825 INFO L290 TraceCheckUtils]: 16: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-28 10:40:47,825 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-28 10:40:47,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {134229#true} call ULTIMATE.init(); {134271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:40:47,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {134271#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {134229#true} is VALID [2022-04-28 10:40:47,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:47,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-28 10:40:47,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-28 10:40:47,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {134229#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {134229#true} is VALID [2022-04-28 10:40:47,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {134229#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L272 TraceCheckUtils]: 7: Hoare triple {134229#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 10: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 12: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 13: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 15: Hoare triple {134229#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 18: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 19: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 20: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,826 INFO L290 TraceCheckUtils]: 21: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 22: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 27: Hoare triple {134229#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L272 TraceCheckUtils]: 28: Hoare triple {134229#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:47,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {134272#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:40:47,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {134272#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134273#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:40:47,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {134273#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134274#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:40:47,829 INFO L290 TraceCheckUtils]: 32: Hoare triple {134274#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134275#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:40:47,829 INFO L290 TraceCheckUtils]: 33: Hoare triple {134275#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134276#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:40:47,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {134276#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:47,830 INFO L290 TraceCheckUtils]: 38: Hoare triple {134277#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:40:47,831 INFO L290 TraceCheckUtils]: 40: Hoare triple {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 43: Hoare triple {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 47: Hoare triple {134230#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L272 TraceCheckUtils]: 48: Hoare triple {134230#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-28 10:40:47,833 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:47,833 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:47,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2017479499] [2022-04-28 10:40:47,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2017479499] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:47,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1282952737] [2022-04-28 10:40:47,834 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:40:47,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:47,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:47,839 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:47,841 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2022-04-28 10:40:47,928 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:40:47,928 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:47,929 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 10:40:47,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:47,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:48,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {134229#true} call ULTIMATE.init(); {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {134229#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {134229#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {134229#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L272 TraceCheckUtils]: 7: Hoare triple {134229#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 12: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,150 INFO L290 TraceCheckUtils]: 13: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 15: Hoare triple {134229#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 19: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 22: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-28 10:40:48,151 INFO L290 TraceCheckUtils]: 27: Hoare triple {134229#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {134229#true} is VALID [2022-04-28 10:40:48,152 INFO L272 TraceCheckUtils]: 28: Hoare triple {134229#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:48,152 INFO L290 TraceCheckUtils]: 29: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {134272#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:40:48,152 INFO L290 TraceCheckUtils]: 30: Hoare triple {134272#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134273#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:40:48,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {134273#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134274#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:40:48,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {134274#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134275#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:40:48,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {134275#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134276#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:40:48,154 INFO L290 TraceCheckUtils]: 34: Hoare triple {134276#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,154 INFO L290 TraceCheckUtils]: 35: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,155 INFO L290 TraceCheckUtils]: 37: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,155 INFO L290 TraceCheckUtils]: 38: Hoare triple {134277#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {134400#(and (<= student_version_~x~1 0) (<= 5 student_version_~i~1))} is VALID [2022-04-28 10:40:48,156 INFO L290 TraceCheckUtils]: 39: Hoare triple {134400#(and (<= student_version_~x~1 0) (<= 5 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134404#(and (<= student_version_~x~1 1) (<= 5 student_version_~i~1))} is VALID [2022-04-28 10:40:48,156 INFO L290 TraceCheckUtils]: 40: Hoare triple {134404#(and (<= student_version_~x~1 1) (<= 5 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134408#(and (<= student_version_~x~1 2) (<= 5 student_version_~i~1))} is VALID [2022-04-28 10:40:48,156 INFO L290 TraceCheckUtils]: 41: Hoare triple {134408#(and (<= student_version_~x~1 2) (<= 5 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134412#(and (<= student_version_~x~1 3) (<= 5 student_version_~i~1))} is VALID [2022-04-28 10:40:48,157 INFO L290 TraceCheckUtils]: 42: Hoare triple {134412#(and (<= student_version_~x~1 3) (<= 5 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134416#(and (<= 5 student_version_~i~1) (<= student_version_~x~1 4))} is VALID [2022-04-28 10:40:48,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {134416#(and (<= 5 student_version_~i~1) (<= student_version_~x~1 4))} assume !(~x~1 < ~i~1); {134230#false} is VALID [2022-04-28 10:40:48,157 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-28 10:40:48,157 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-28 10:40:48,157 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L290 TraceCheckUtils]: 47: Hoare triple {134230#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L272 TraceCheckUtils]: 48: Hoare triple {134230#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-28 10:40:48,158 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:48,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:48,333 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-28 10:40:48,333 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-28 10:40:48,333 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-28 10:40:48,333 INFO L272 TraceCheckUtils]: 48: Hoare triple {134230#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {134230#false} is VALID [2022-04-28 10:40:48,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {134230#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {134230#false} is VALID [2022-04-28 10:40:48,334 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-28 10:40:48,334 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-28 10:40:48,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-28 10:40:48,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {134230#false} is VALID [2022-04-28 10:40:48,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134282#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-28 10:40:48,335 INFO L290 TraceCheckUtils]: 41: Hoare triple {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134281#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:48,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134280#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:48,336 INFO L290 TraceCheckUtils]: 39: Hoare triple {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {134279#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-28 10:40:48,336 INFO L290 TraceCheckUtils]: 38: Hoare triple {134277#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {134278#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-28 10:40:48,336 INFO L290 TraceCheckUtils]: 37: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,337 INFO L290 TraceCheckUtils]: 36: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,337 INFO L290 TraceCheckUtils]: 35: Hoare triple {134277#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {134276#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134277#(<= 5 student_version_~i~1)} is VALID [2022-04-28 10:40:48,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {134275#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134276#(<= 4 student_version_~i~1)} is VALID [2022-04-28 10:40:48,338 INFO L290 TraceCheckUtils]: 32: Hoare triple {134274#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134275#(<= 3 student_version_~i~1)} is VALID [2022-04-28 10:40:48,339 INFO L290 TraceCheckUtils]: 31: Hoare triple {134273#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134274#(<= 2 student_version_~i~1)} is VALID [2022-04-28 10:40:48,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {134272#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134273#(<= 1 student_version_~i~1)} is VALID [2022-04-28 10:40:48,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {134272#(<= 0 student_version_~i~1)} is VALID [2022-04-28 10:40:48,340 INFO L272 TraceCheckUtils]: 28: Hoare triple {134229#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {134229#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {134229#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-28 10:40:48,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {134229#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 10: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {134229#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {134229#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L272 TraceCheckUtils]: 7: Hoare triple {134229#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {134229#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {134229#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {134229#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {134229#true} is VALID [2022-04-28 10:40:48,341 INFO L272 TraceCheckUtils]: 0: Hoare triple {134229#true} call ULTIMATE.init(); {134229#true} is VALID [2022-04-28 10:40:48,342 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 15 proven. 10 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 10:40:48,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1282952737] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:48,342 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:48,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-28 10:40:48,342 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:48,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1994400192] [2022-04-28 10:40:48,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1994400192] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:48,342 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:48,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 10:40:48,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [309897200] [2022-04-28 10:40:48,342 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:48,343 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 52 [2022-04-28 10:40:48,343 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:48,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:40:48,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:48,367 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 10:40:48,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:48,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 10:40:48,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:40:48,367 INFO L87 Difference]: Start difference. First operand 609 states and 686 transitions. Second operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:40:56,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:56,576 INFO L93 Difference]: Finished difference Result 651 states and 736 transitions. [2022-04-28 10:40:56,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:40:56,576 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 52 [2022-04-28 10:40:56,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:56,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:40:56,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-28 10:40:56,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:40:56,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-28 10:40:56,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 98 transitions. [2022-04-28 10:40:56,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:56,664 INFO L225 Difference]: With dead ends: 651 [2022-04-28 10:40:56,664 INFO L226 Difference]: Without dead ends: 618 [2022-04-28 10:40:56,668 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 315 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=479, Invalid=1081, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 10:40:56,669 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 100 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:40:56,669 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [106 Valid, 67 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 216 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:40:56,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 618 states. [2022-04-28 10:41:04,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 618 to 618. [2022-04-28 10:41:04,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:04,213 INFO L82 GeneralOperation]: Start isEquivalent. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:41:04,213 INFO L74 IsIncluded]: Start isIncluded. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:41:04,213 INFO L87 Difference]: Start difference. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:41:04,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:04,227 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-28 10:41:04,227 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-28 10:41:04,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:04,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:04,230 INFO L74 IsIncluded]: Start isIncluded. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) Second operand 618 states. [2022-04-28 10:41:04,230 INFO L87 Difference]: Start difference. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) Second operand 618 states. [2022-04-28 10:41:04,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:04,244 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-28 10:41:04,244 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-28 10:41:04,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:04,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:04,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:04,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:04,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (51), 27 states have call predecessors, (51), 27 states have call successors, (51) [2022-04-28 10:41:04,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 695 transitions. [2022-04-28 10:41:04,264 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 695 transitions. Word has length 52 [2022-04-28 10:41:04,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:04,265 INFO L495 AbstractCegarLoop]: Abstraction has 618 states and 695 transitions. [2022-04-28 10:41:04,265 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.5714285714285716) internal successors, (36), 13 states have internal predecessors, (36), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:41:04,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 695 transitions. [2022-04-28 10:41:05,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 695 edges. 695 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:05,864 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-28 10:41:05,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:41:05,876 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:05,876 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:05,892 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:06,076 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable69,61 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:06,076 INFO L420 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:06,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:06,077 INFO L85 PathProgramCache]: Analyzing trace with hash 715381933, now seen corresponding path program 121 times [2022-04-28 10:41:06,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:06,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [130978636] [2022-04-28 10:41:06,079 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:06,079 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:06,079 INFO L85 PathProgramCache]: Analyzing trace with hash 715381933, now seen corresponding path program 122 times [2022-04-28 10:41:06,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:06,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1990216547] [2022-04-28 10:41:06,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:06,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:06,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:06,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:06,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:06,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {138464#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {138415#true} is VALID [2022-04-28 10:41:06,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {138415#true} assume true; {138415#true} is VALID [2022-04-28 10:41:06,160 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {138415#true} {138415#true} #117#return; {138415#true} is VALID [2022-04-28 10:41:06,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:06,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:06,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,361 INFO L290 TraceCheckUtils]: 3: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:06,361 INFO L290 TraceCheckUtils]: 4: Hoare triple {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:06,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:06,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:06,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:06,364 INFO L290 TraceCheckUtils]: 10: Hoare triple {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:41:06,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,365 INFO L290 TraceCheckUtils]: 12: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:41:06,365 INFO L290 TraceCheckUtils]: 14: Hoare triple {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:06,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:06,366 INFO L290 TraceCheckUtils]: 16: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:06,366 INFO L290 TraceCheckUtils]: 17: Hoare triple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:06,367 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {138415#true} #111#return; {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:41:06,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:41:06,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:06,655 INFO L290 TraceCheckUtils]: 0: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,656 INFO L290 TraceCheckUtils]: 3: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:06,656 INFO L290 TraceCheckUtils]: 4: Hoare triple {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:06,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:06,657 INFO L290 TraceCheckUtils]: 6: Hoare triple {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:06,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:06,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:06,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:06,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:41:06,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:06,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:06,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:41:06,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:06,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:06,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:06,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:06,662 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {138460#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:06,663 INFO L272 TraceCheckUtils]: 0: Hoare triple {138415#true} call ULTIMATE.init(); {138464#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:06,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {138464#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {138415#true} assume true; {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {138415#true} {138415#true} #117#return; {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {138415#true} call #t~ret10 := main(); {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {138415#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {138415#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {138415#true} is VALID [2022-04-28 10:41:06,663 INFO L272 TraceCheckUtils]: 7: Hoare triple {138415#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:06,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:06,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:06,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:06,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:06,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:06,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:41:06,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:06,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:41:06,669 INFO L290 TraceCheckUtils]: 22: Hoare triple {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:06,670 INFO L290 TraceCheckUtils]: 23: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:06,670 INFO L290 TraceCheckUtils]: 24: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:06,670 INFO L290 TraceCheckUtils]: 25: Hoare triple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:06,671 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {138415#true} #111#return; {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:41:06,671 INFO L290 TraceCheckUtils]: 27: Hoare triple {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:41:06,671 INFO L272 TraceCheckUtils]: 28: Hoare triple {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:06,671 INFO L290 TraceCheckUtils]: 29: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:06,673 INFO L290 TraceCheckUtils]: 32: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:06,673 INFO L290 TraceCheckUtils]: 33: Hoare triple {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:06,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:06,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:06,674 INFO L290 TraceCheckUtils]: 36: Hoare triple {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:06,675 INFO L290 TraceCheckUtils]: 37: Hoare triple {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:06,675 INFO L290 TraceCheckUtils]: 38: Hoare triple {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:06,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:41:06,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:06,676 INFO L290 TraceCheckUtils]: 41: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:06,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:41:06,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:06,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:06,678 INFO L290 TraceCheckUtils]: 45: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:06,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:06,679 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {138460#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:06,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {138460#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {138461#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:41:06,680 INFO L272 TraceCheckUtils]: 49: Hoare triple {138461#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {138462#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:41:06,680 INFO L290 TraceCheckUtils]: 50: Hoare triple {138462#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {138463#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:41:06,680 INFO L290 TraceCheckUtils]: 51: Hoare triple {138463#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {138416#false} is VALID [2022-04-28 10:41:06,680 INFO L290 TraceCheckUtils]: 52: Hoare triple {138416#false} assume !false; {138416#false} is VALID [2022-04-28 10:41:06,681 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:41:06,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:06,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1990216547] [2022-04-28 10:41:06,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1990216547] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:06,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [489735216] [2022-04-28 10:41:06,681 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:41:06,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:06,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:06,682 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:06,684 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2022-04-28 10:41:06,765 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:41:06,765 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:06,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-28 10:41:06,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:06,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:07,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {138415#true} call ULTIMATE.init(); {138415#true} is VALID [2022-04-28 10:41:07,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {138415#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {138415#true} is VALID [2022-04-28 10:41:07,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {138415#true} assume true; {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {138415#true} {138415#true} #117#return; {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {138415#true} call #t~ret10 := main(); {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {138415#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L290 TraceCheckUtils]: 6: Hoare triple {138415#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L272 TraceCheckUtils]: 7: Hoare triple {138415#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:07,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:07,408 INFO L290 TraceCheckUtils]: 12: Hoare triple {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:07,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:07,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:07,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,410 INFO L290 TraceCheckUtils]: 16: Hoare triple {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,410 INFO L290 TraceCheckUtils]: 17: Hoare triple {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:07,410 INFO L290 TraceCheckUtils]: 18: Hoare triple {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:41:07,411 INFO L290 TraceCheckUtils]: 19: Hoare triple {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,411 INFO L290 TraceCheckUtils]: 21: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {138557#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:41:07,412 INFO L290 TraceCheckUtils]: 22: Hoare triple {138557#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:07,412 INFO L290 TraceCheckUtils]: 23: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:07,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:07,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:07,414 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {138415#true} #111#return; {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:41:07,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:41:07,414 INFO L272 TraceCheckUtils]: 28: Hoare triple {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:07,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:07,416 INFO L290 TraceCheckUtils]: 33: Hoare triple {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:07,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:07,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:07,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:07,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:07,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:07,418 INFO L290 TraceCheckUtils]: 39: Hoare triple {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:41:07,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:07,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:07,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {138621#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:07,420 INFO L290 TraceCheckUtils]: 43: Hoare triple {138621#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:07,420 INFO L290 TraceCheckUtils]: 44: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:07,421 INFO L290 TraceCheckUtils]: 45: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:07,421 INFO L290 TraceCheckUtils]: 46: Hoare triple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:07,422 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {138637#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} is VALID [2022-04-28 10:41:07,422 INFO L290 TraceCheckUtils]: 48: Hoare triple {138637#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {138641#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= main_~n_stones2~0 9) (<= 9 main_~n_stones2~0))} is VALID [2022-04-28 10:41:07,422 INFO L272 TraceCheckUtils]: 49: Hoare triple {138641#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= main_~n_stones2~0 9) (<= 9 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {138645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:41:07,423 INFO L290 TraceCheckUtils]: 50: Hoare triple {138645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {138649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:41:07,423 INFO L290 TraceCheckUtils]: 51: Hoare triple {138649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {138416#false} is VALID [2022-04-28 10:41:07,423 INFO L290 TraceCheckUtils]: 52: Hoare triple {138416#false} assume !false; {138416#false} is VALID [2022-04-28 10:41:07,423 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:41:07,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:07,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {138416#false} assume !false; {138416#false} is VALID [2022-04-28 10:41:07,891 INFO L290 TraceCheckUtils]: 51: Hoare triple {138649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {138416#false} is VALID [2022-04-28 10:41:07,891 INFO L290 TraceCheckUtils]: 50: Hoare triple {138645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {138649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:41:07,892 INFO L272 TraceCheckUtils]: 49: Hoare triple {138461#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {138645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:41:07,892 INFO L290 TraceCheckUtils]: 48: Hoare triple {138460#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {138461#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:41:07,893 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {138460#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:07,893 INFO L290 TraceCheckUtils]: 46: Hoare triple {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:07,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {138490#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-28 10:41:07,894 INFO L290 TraceCheckUtils]: 44: Hoare triple {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:07,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {138489#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-28 10:41:07,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {138488#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:41:07,895 INFO L290 TraceCheckUtils]: 41: Hoare triple {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:07,896 INFO L290 TraceCheckUtils]: 40: Hoare triple {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138487#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-28 10:41:07,896 INFO L290 TraceCheckUtils]: 39: Hoare triple {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138486#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-28 10:41:07,896 INFO L290 TraceCheckUtils]: 38: Hoare triple {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138485#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:07,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138484#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:07,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138483#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:07,898 INFO L290 TraceCheckUtils]: 35: Hoare triple {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138482#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:07,898 INFO L290 TraceCheckUtils]: 34: Hoare triple {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138481#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:07,899 INFO L290 TraceCheckUtils]: 33: Hoare triple {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138480#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:07,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {138479#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:07,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {138478#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:07,900 INFO L272 TraceCheckUtils]: 28: Hoare triple {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:07,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {138440#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-28 10:41:07,901 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {138415#true} #111#return; {138439#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-28 10:41:07,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:07,902 INFO L290 TraceCheckUtils]: 24: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {138477#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-28 10:41:07,902 INFO L290 TraceCheckUtils]: 23: Hoare triple {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:07,903 INFO L290 TraceCheckUtils]: 22: Hoare triple {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {138476#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-28 10:41:07,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {138475#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-28 10:41:07,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138474#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138473#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-28 10:41:07,905 INFO L290 TraceCheckUtils]: 17: Hoare triple {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138472#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:07,905 INFO L290 TraceCheckUtils]: 16: Hoare triple {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138471#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138470#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138469#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:07,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138468#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:07,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138467#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:07,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138466#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:07,908 INFO L290 TraceCheckUtils]: 10: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {138415#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {138465#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:07,908 INFO L272 TraceCheckUtils]: 7: Hoare triple {138415#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L290 TraceCheckUtils]: 6: Hoare triple {138415#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {138415#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {138415#true} call #t~ret10 := main(); {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {138415#true} {138415#true} #117#return; {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {138415#true} assume true; {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {138415#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {138415#true} call ULTIMATE.init(); {138415#true} is VALID [2022-04-28 10:41:07,909 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 10:41:07,909 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [489735216] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:07,909 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:07,909 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 41 [2022-04-28 10:41:07,910 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:07,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [130978636] [2022-04-28 10:41:07,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [130978636] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:07,910 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:07,910 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-28 10:41:07,910 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [469024897] [2022-04-28 10:41:07,910 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:07,910 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:41:07,910 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:07,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:07,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:07,943 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-28 10:41:07,944 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:07,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-28 10:41:07,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1551, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 10:41:07,944 INFO L87 Difference]: Start difference. First operand 618 states and 695 transitions. Second operand has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:24,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:24,279 INFO L93 Difference]: Finished difference Result 718 states and 808 transitions. [2022-04-28 10:41:24,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-28 10:41:24,279 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:41:24,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:24,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:24,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 206 transitions. [2022-04-28 10:41:24,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:24,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 206 transitions. [2022-04-28 10:41:24,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 206 transitions. [2022-04-28 10:41:24,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:24,458 INFO L225 Difference]: With dead ends: 718 [2022-04-28 10:41:24,459 INFO L226 Difference]: Without dead ends: 712 [2022-04-28 10:41:24,463 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 100 SyntacticMatches, 5 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 733 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=250, Invalid=5152, Unknown=0, NotChecked=0, Total=5402 [2022-04-28 10:41:24,463 INFO L413 NwaCegarLoop]: 109 mSDtfsCounter, 240 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 5288 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 250 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 5338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 5288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:24,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [250 Valid, 271 Invalid, 5338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 5288 Invalid, 0 Unknown, 0 Unchecked, 3.6s Time] [2022-04-28 10:41:24,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 712 states. [2022-04-28 10:41:32,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 712 to 634. [2022-04-28 10:41:32,365 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:32,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-28 10:41:32,366 INFO L74 IsIncluded]: Start isIncluded. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-28 10:41:32,366 INFO L87 Difference]: Start difference. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-28 10:41:32,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:32,383 INFO L93 Difference]: Finished difference Result 712 states and 802 transitions. [2022-04-28 10:41:32,383 INFO L276 IsEmpty]: Start isEmpty. Operand 712 states and 802 transitions. [2022-04-28 10:41:32,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:32,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:32,387 INFO L74 IsIncluded]: Start isIncluded. First operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) Second operand 712 states. [2022-04-28 10:41:32,387 INFO L87 Difference]: Start difference. First operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) Second operand 712 states. [2022-04-28 10:41:32,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:32,404 INFO L93 Difference]: Finished difference Result 712 states and 802 transitions. [2022-04-28 10:41:32,404 INFO L276 IsEmpty]: Start isEmpty. Operand 712 states and 802 transitions. [2022-04-28 10:41:32,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:32,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:32,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:32,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:32,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-28 10:41:32,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 634 states to 634 states and 714 transitions. [2022-04-28 10:41:32,426 INFO L78 Accepts]: Start accepts. Automaton has 634 states and 714 transitions. Word has length 53 [2022-04-28 10:41:32,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:32,426 INFO L495 AbstractCegarLoop]: Abstraction has 634 states and 714 transitions. [2022-04-28 10:41:32,426 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 33 states have (on average 1.3636363636363635) internal successors, (45), 31 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:32,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 634 states and 714 transitions. [2022-04-28 10:41:34,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 714 edges. 714 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:34,090 INFO L276 IsEmpty]: Start isEmpty. Operand 634 states and 714 transitions. [2022-04-28 10:41:34,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:41:34,094 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:34,094 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:34,113 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-28 10:41:34,294 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable70,62 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:34,294 INFO L420 AbstractCegarLoop]: === Iteration 72 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:34,295 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:34,295 INFO L85 PathProgramCache]: Analyzing trace with hash -839303187, now seen corresponding path program 123 times [2022-04-28 10:41:34,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:34,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1897567814] [2022-04-28 10:41:34,297 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:34,297 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:34,297 INFO L85 PathProgramCache]: Analyzing trace with hash -839303187, now seen corresponding path program 124 times [2022-04-28 10:41:34,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:34,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1726077656] [2022-04-28 10:41:34,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:34,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:34,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:34,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:34,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:34,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {143058#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {143009#true} is VALID [2022-04-28 10:41:34,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {143009#true} assume true; {143009#true} is VALID [2022-04-28 10:41:34,374 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {143009#true} {143009#true} #117#return; {143009#true} is VALID [2022-04-28 10:41:34,374 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:34,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:34,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,550 INFO L290 TraceCheckUtils]: 4: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:34,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:34,551 INFO L290 TraceCheckUtils]: 6: Hoare triple {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:34,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:34,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,553 INFO L290 TraceCheckUtils]: 10: Hoare triple {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:34,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:34,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-28 10:41:34,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:41:34,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:34,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:34,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:34,556 INFO L290 TraceCheckUtils]: 17: Hoare triple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:34,557 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {143009#true} #111#return; {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-28 10:41:34,557 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:41:34,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:34,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,825 INFO L290 TraceCheckUtils]: 3: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,826 INFO L290 TraceCheckUtils]: 4: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:34,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:34,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:34,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:34,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:34,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:34,828 INFO L290 TraceCheckUtils]: 10: Hoare triple {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:34,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:34,829 INFO L290 TraceCheckUtils]: 12: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-28 10:41:34,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-28 10:41:34,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:34,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:34,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:34,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:34,832 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {143054#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:34,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {143009#true} call ULTIMATE.init(); {143058#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:34,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {143058#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {143009#true} is VALID [2022-04-28 10:41:34,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {143009#true} assume true; {143009#true} is VALID [2022-04-28 10:41:34,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {143009#true} {143009#true} #117#return; {143009#true} is VALID [2022-04-28 10:41:34,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {143009#true} call #t~ret10 := main(); {143009#true} is VALID [2022-04-28 10:41:34,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {143009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {143009#true} is VALID [2022-04-28 10:41:34,833 INFO L290 TraceCheckUtils]: 6: Hoare triple {143009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {143009#true} is VALID [2022-04-28 10:41:34,833 INFO L272 TraceCheckUtils]: 7: Hoare triple {143009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:34,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,835 INFO L290 TraceCheckUtils]: 12: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:34,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:34,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:34,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:34,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:34,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:34,838 INFO L290 TraceCheckUtils]: 19: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:34,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-28 10:41:34,838 INFO L290 TraceCheckUtils]: 21: Hoare triple {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:41:34,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:34,839 INFO L290 TraceCheckUtils]: 23: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:34,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:34,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:34,840 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {143009#true} #111#return; {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-28 10:41:34,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-28 10:41:34,841 INFO L272 TraceCheckUtils]: 28: Hoare triple {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:34,841 INFO L290 TraceCheckUtils]: 29: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:34,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:34,843 INFO L290 TraceCheckUtils]: 34: Hoare triple {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:34,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:34,844 INFO L290 TraceCheckUtils]: 36: Hoare triple {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:34,844 INFO L290 TraceCheckUtils]: 37: Hoare triple {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:34,845 INFO L290 TraceCheckUtils]: 38: Hoare triple {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:34,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:34,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:34,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-28 10:41:34,846 INFO L290 TraceCheckUtils]: 42: Hoare triple {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-28 10:41:34,847 INFO L290 TraceCheckUtils]: 43: Hoare triple {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:34,847 INFO L290 TraceCheckUtils]: 44: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:34,848 INFO L290 TraceCheckUtils]: 45: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:34,848 INFO L290 TraceCheckUtils]: 46: Hoare triple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:34,849 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {143054#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:34,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {143054#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {143055#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:41:34,850 INFO L272 TraceCheckUtils]: 49: Hoare triple {143055#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {143056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:41:34,850 INFO L290 TraceCheckUtils]: 50: Hoare triple {143056#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {143057#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:41:34,850 INFO L290 TraceCheckUtils]: 51: Hoare triple {143057#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {143010#false} is VALID [2022-04-28 10:41:34,850 INFO L290 TraceCheckUtils]: 52: Hoare triple {143010#false} assume !false; {143010#false} is VALID [2022-04-28 10:41:34,850 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:41:34,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:34,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1726077656] [2022-04-28 10:41:34,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1726077656] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:34,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1907237698] [2022-04-28 10:41:34,851 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:41:34,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:34,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:34,852 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:34,853 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2022-04-28 10:41:34,940 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:41:34,940 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:34,941 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-28 10:41:34,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:34,951 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:35,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {143009#true} call ULTIMATE.init(); {143009#true} is VALID [2022-04-28 10:41:35,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {143009#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {143009#true} is VALID [2022-04-28 10:41:35,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {143009#true} assume true; {143009#true} is VALID [2022-04-28 10:41:35,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {143009#true} {143009#true} #117#return; {143009#true} is VALID [2022-04-28 10:41:35,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {143009#true} call #t~ret10 := main(); {143009#true} is VALID [2022-04-28 10:41:35,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {143009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {143009#true} is VALID [2022-04-28 10:41:35,628 INFO L290 TraceCheckUtils]: 6: Hoare triple {143009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {143009#true} is VALID [2022-04-28 10:41:35,628 INFO L272 TraceCheckUtils]: 7: Hoare triple {143009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:35,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,629 INFO L290 TraceCheckUtils]: 10: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:35,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:35,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:35,631 INFO L290 TraceCheckUtils]: 15: Hoare triple {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:35,631 INFO L290 TraceCheckUtils]: 16: Hoare triple {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:35,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:35,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:35,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {143146#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:41:35,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {143146#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143150#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} is VALID [2022-04-28 10:41:35,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {143150#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:35,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:35,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:35,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:35,635 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {143009#true} #111#return; {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-28 10:41:35,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-28 10:41:35,636 INFO L272 TraceCheckUtils]: 28: Hoare triple {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:35,636 INFO L290 TraceCheckUtils]: 29: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:35,637 INFO L290 TraceCheckUtils]: 30: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:35,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:35,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:35,638 INFO L290 TraceCheckUtils]: 33: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:35,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:35,639 INFO L290 TraceCheckUtils]: 35: Hoare triple {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:35,639 INFO L290 TraceCheckUtils]: 36: Hoare triple {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:35,639 INFO L290 TraceCheckUtils]: 37: Hoare triple {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:35,640 INFO L290 TraceCheckUtils]: 38: Hoare triple {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:35,640 INFO L290 TraceCheckUtils]: 39: Hoare triple {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:35,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:35,641 INFO L290 TraceCheckUtils]: 41: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {143211#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:35,641 INFO L290 TraceCheckUtils]: 42: Hoare triple {143211#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143215#(and (<= student_version_~j~1 7) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:35,642 INFO L290 TraceCheckUtils]: 43: Hoare triple {143215#(and (<= student_version_~j~1 7) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:35,642 INFO L290 TraceCheckUtils]: 44: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:35,643 INFO L290 TraceCheckUtils]: 45: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:35,643 INFO L290 TraceCheckUtils]: 46: Hoare triple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:35,644 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {143231#(and (<= 14 main_~n_stones1~0) (<= 14 |main_#t~ret9|) (<= main_~n_stones1~0 14) (<= |main_#t~ret9| 14))} is VALID [2022-04-28 10:41:35,644 INFO L290 TraceCheckUtils]: 48: Hoare triple {143231#(and (<= 14 main_~n_stones1~0) (<= 14 |main_#t~ret9|) (<= main_~n_stones1~0 14) (<= |main_#t~ret9| 14))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {143235#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones2~0 14) (<= 14 main_~n_stones2~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-28 10:41:35,645 INFO L272 TraceCheckUtils]: 49: Hoare triple {143235#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones2~0 14) (<= 14 main_~n_stones2~0) (<= main_~n_stones1~0 14))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {143239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:41:35,645 INFO L290 TraceCheckUtils]: 50: Hoare triple {143239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {143243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:41:35,645 INFO L290 TraceCheckUtils]: 51: Hoare triple {143243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {143010#false} is VALID [2022-04-28 10:41:35,645 INFO L290 TraceCheckUtils]: 52: Hoare triple {143010#false} assume !false; {143010#false} is VALID [2022-04-28 10:41:35,645 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:41:35,645 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:36,127 INFO L290 TraceCheckUtils]: 52: Hoare triple {143010#false} assume !false; {143010#false} is VALID [2022-04-28 10:41:36,128 INFO L290 TraceCheckUtils]: 51: Hoare triple {143243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {143010#false} is VALID [2022-04-28 10:41:36,128 INFO L290 TraceCheckUtils]: 50: Hoare triple {143239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {143243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:41:36,128 INFO L272 TraceCheckUtils]: 49: Hoare triple {143055#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {143239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:41:36,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {143054#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {143055#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:41:36,130 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {143054#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:41:36,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:36,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {143082#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-28 10:41:36,131 INFO L290 TraceCheckUtils]: 44: Hoare triple {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:36,131 INFO L290 TraceCheckUtils]: 43: Hoare triple {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143081#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-28 10:41:36,132 INFO L290 TraceCheckUtils]: 42: Hoare triple {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {143080#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-28 10:41:36,132 INFO L290 TraceCheckUtils]: 41: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {143079#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-28 10:41:36,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:36,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143078#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-28 10:41:36,133 INFO L290 TraceCheckUtils]: 38: Hoare triple {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143077#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-28 10:41:36,134 INFO L290 TraceCheckUtils]: 37: Hoare triple {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143076#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:41:36,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143075#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:41:36,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143074#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:41:36,135 INFO L290 TraceCheckUtils]: 34: Hoare triple {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143073#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:41:36,135 INFO L290 TraceCheckUtils]: 33: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {143072#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:41:36,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:36,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:36,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:36,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {143071#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:41:36,137 INFO L272 TraceCheckUtils]: 28: Hoare triple {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:36,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {143034#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-28 10:41:36,138 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {143009#true} #111#return; {143033#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-28 10:41:36,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:36,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {143070#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-28 10:41:36,139 INFO L290 TraceCheckUtils]: 23: Hoare triple {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:36,139 INFO L290 TraceCheckUtils]: 22: Hoare triple {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143069#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-28 10:41:36,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {143068#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:41:36,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {143067#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-28 10:41:36,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:36,141 INFO L290 TraceCheckUtils]: 18: Hoare triple {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143066#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-28 10:41:36,141 INFO L290 TraceCheckUtils]: 17: Hoare triple {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143065#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143064#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,142 INFO L290 TraceCheckUtils]: 15: Hoare triple {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143063#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:41:36,143 INFO L290 TraceCheckUtils]: 14: Hoare triple {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143062#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:41:36,143 INFO L290 TraceCheckUtils]: 13: Hoare triple {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143061#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:41:36,143 INFO L290 TraceCheckUtils]: 12: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {143060#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:41:36,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {143009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {143059#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:41:36,145 INFO L272 TraceCheckUtils]: 7: Hoare triple {143009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {143009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {143009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {143009#true} call #t~ret10 := main(); {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {143009#true} {143009#true} #117#return; {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {143009#true} assume true; {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {143009#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {143009#true} is VALID [2022-04-28 10:41:36,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {143009#true} call ULTIMATE.init(); {143009#true} is VALID [2022-04-28 10:41:36,146 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 10:41:36,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1907237698] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:36,146 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:36,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 41 [2022-04-28 10:41:36,146 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:36,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1897567814] [2022-04-28 10:41:36,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1897567814] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:36,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:36,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 10:41:36,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1074823336] [2022-04-28 10:41:36,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:36,146 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:41:36,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:36,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:36,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:36,178 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 10:41:36,178 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:36,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 10:41:36,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1547, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 10:41:36,179 INFO L87 Difference]: Start difference. First operand 634 states and 714 transitions. Second operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:49,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:49,904 INFO L93 Difference]: Finished difference Result 640 states and 719 transitions. [2022-04-28 10:41:49,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 10:41:49,904 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:41:49,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:49,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:49,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 172 transitions. [2022-04-28 10:41:49,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:49,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 172 transitions. [2022-04-28 10:41:49,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 172 transitions. [2022-04-28 10:41:50,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:50,058 INFO L225 Difference]: With dead ends: 640 [2022-04-28 10:41:50,058 INFO L226 Difference]: Without dead ends: 618 [2022-04-28 10:41:50,063 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 94 SyntacticMatches, 9 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 752 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=252, Invalid=4860, Unknown=0, NotChecked=0, Total=5112 [2022-04-28 10:41:50,064 INFO L413 NwaCegarLoop]: 94 mSDtfsCounter, 173 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 4244 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 177 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 4279 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 4244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:50,064 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [177 Valid, 246 Invalid, 4279 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 4244 Invalid, 0 Unknown, 0 Unchecked, 2.9s Time] [2022-04-28 10:41:50,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 618 states. [2022-04-28 10:41:57,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 618 to 618. [2022-04-28 10:41:57,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:57,835 INFO L82 GeneralOperation]: Start isEquivalent. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-28 10:41:57,835 INFO L74 IsIncluded]: Start isIncluded. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-28 10:41:57,835 INFO L87 Difference]: Start difference. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-28 10:41:57,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:57,849 INFO L93 Difference]: Finished difference Result 618 states and 696 transitions. [2022-04-28 10:41:57,849 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-28 10:41:57,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:57,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:57,852 INFO L74 IsIncluded]: Start isIncluded. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) Second operand 618 states. [2022-04-28 10:41:57,852 INFO L87 Difference]: Start difference. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) Second operand 618 states. [2022-04-28 10:41:57,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:57,866 INFO L93 Difference]: Finished difference Result 618 states and 696 transitions. [2022-04-28 10:41:57,866 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-28 10:41:57,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:57,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:57,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:57,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:57,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-28 10:41:57,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 696 transitions. [2022-04-28 10:41:57,888 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 696 transitions. Word has length 53 [2022-04-28 10:41:57,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:57,888 INFO L495 AbstractCegarLoop]: Abstraction has 618 states and 696 transitions. [2022-04-28 10:41:57,889 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 29 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:57,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 696 transitions. [2022-04-28 10:41:59,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 696 edges. 696 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:59,569 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-28 10:41:59,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:41:59,572 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:59,573 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:59,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:59,773 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable71,63 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:59,773 INFO L420 AbstractCegarLoop]: === Iteration 73 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:59,773 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:59,773 INFO L85 PathProgramCache]: Analyzing trace with hash 886283437, now seen corresponding path program 125 times [2022-04-28 10:41:59,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:59,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [503865815] [2022-04-28 10:41:59,775 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:59,776 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:59,776 INFO L85 PathProgramCache]: Analyzing trace with hash 886283437, now seen corresponding path program 126 times [2022-04-28 10:41:59,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:59,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864569713] [2022-04-28 10:41:59,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:59,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:59,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:59,859 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:59,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:59,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {147272#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {147223#true} is VALID [2022-04-28 10:41:59,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {147223#true} assume true; {147223#true} is VALID [2022-04-28 10:41:59,861 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {147223#true} {147223#true} #117#return; {147223#true} is VALID [2022-04-28 10:41:59,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:59,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:00,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:00,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:00,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:00,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:42:00,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-28 10:42:00,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-28 10:42:00,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:42:00,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:00,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:00,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:00,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:00,030 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {147223#true} #111#return; {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-28 10:42:00,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:42:00,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:00,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,273 INFO L290 TraceCheckUtils]: 3: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,273 INFO L290 TraceCheckUtils]: 4: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:00,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:00,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:00,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:42:00,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:00,276 INFO L290 TraceCheckUtils]: 10: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:00,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-28 10:42:00,277 INFO L290 TraceCheckUtils]: 12: Hoare triple {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-28 10:42:00,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:00,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:00,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:00,278 INFO L290 TraceCheckUtils]: 16: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:00,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:00,279 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {147268#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:00,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {147223#true} call ULTIMATE.init(); {147272#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:42:00,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {147272#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {147223#true} assume true; {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {147223#true} {147223#true} #117#return; {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {147223#true} call #t~ret10 := main(); {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {147223#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L290 TraceCheckUtils]: 6: Hoare triple {147223#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {147223#true} is VALID [2022-04-28 10:42:00,280 INFO L272 TraceCheckUtils]: 7: Hoare triple {147223#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:00,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,281 INFO L290 TraceCheckUtils]: 10: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:00,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:00,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:00,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:42:00,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:00,285 INFO L290 TraceCheckUtils]: 19: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-28 10:42:00,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-28 10:42:00,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:42:00,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:00,287 INFO L290 TraceCheckUtils]: 23: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:00,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:00,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:00,288 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {147223#true} #111#return; {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-28 10:42:00,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-28 10:42:00,289 INFO L272 TraceCheckUtils]: 28: Hoare triple {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:00,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,290 INFO L290 TraceCheckUtils]: 32: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,290 INFO L290 TraceCheckUtils]: 33: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:00,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:00,291 INFO L290 TraceCheckUtils]: 35: Hoare triple {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:00,292 INFO L290 TraceCheckUtils]: 36: Hoare triple {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:00,292 INFO L290 TraceCheckUtils]: 37: Hoare triple {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:42:00,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:00,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:00,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-28 10:42:00,294 INFO L290 TraceCheckUtils]: 41: Hoare triple {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-28 10:42:00,294 INFO L290 TraceCheckUtils]: 42: Hoare triple {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:00,295 INFO L290 TraceCheckUtils]: 43: Hoare triple {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:00,295 INFO L290 TraceCheckUtils]: 44: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:00,295 INFO L290 TraceCheckUtils]: 45: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:00,295 INFO L290 TraceCheckUtils]: 46: Hoare triple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:00,296 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {147268#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:00,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {147268#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {147269#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:42:00,297 INFO L272 TraceCheckUtils]: 49: Hoare triple {147269#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {147270#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:42:00,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {147270#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {147271#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:42:00,298 INFO L290 TraceCheckUtils]: 51: Hoare triple {147271#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {147224#false} is VALID [2022-04-28 10:42:00,298 INFO L290 TraceCheckUtils]: 52: Hoare triple {147224#false} assume !false; {147224#false} is VALID [2022-04-28 10:42:00,298 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:42:00,298 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:00,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [864569713] [2022-04-28 10:42:00,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [864569713] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:00,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1416614258] [2022-04-28 10:42:00,298 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:42:00,299 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:00,299 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:00,299 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:00,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2022-04-28 10:42:00,383 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:42:00,383 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:00,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 10:42:00,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:00,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:01,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {147223#true} call ULTIMATE.init(); {147223#true} is VALID [2022-04-28 10:42:01,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {147223#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {147223#true} is VALID [2022-04-28 10:42:01,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {147223#true} assume true; {147223#true} is VALID [2022-04-28 10:42:01,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {147223#true} {147223#true} #117#return; {147223#true} is VALID [2022-04-28 10:42:01,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {147223#true} call #t~ret10 := main(); {147223#true} is VALID [2022-04-28 10:42:01,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {147223#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {147223#true} is VALID [2022-04-28 10:42:01,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {147223#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {147223#true} is VALID [2022-04-28 10:42:01,158 INFO L272 TraceCheckUtils]: 7: Hoare triple {147223#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:01,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,159 INFO L290 TraceCheckUtils]: 10: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,159 INFO L290 TraceCheckUtils]: 11: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:01,160 INFO L290 TraceCheckUtils]: 14: Hoare triple {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:01,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:01,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:42:01,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {147355#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-28 10:42:01,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {147355#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147359#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} is VALID [2022-04-28 10:42:01,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {147359#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147363#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-28 10:42:01,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {147363#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:01,164 INFO L290 TraceCheckUtils]: 23: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:01,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:01,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:01,165 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {147223#true} #111#return; {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-28 10:42:01,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-28 10:42:01,166 INFO L272 TraceCheckUtils]: 28: Hoare triple {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:01,166 INFO L290 TraceCheckUtils]: 29: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,167 INFO L290 TraceCheckUtils]: 32: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:01,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:01,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:01,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:42:01,170 INFO L290 TraceCheckUtils]: 38: Hoare triple {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,170 INFO L290 TraceCheckUtils]: 39: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,170 INFO L290 TraceCheckUtils]: 40: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {147421#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,171 INFO L290 TraceCheckUtils]: 41: Hoare triple {147421#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147425#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:42:01,171 INFO L290 TraceCheckUtils]: 42: Hoare triple {147425#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147429#(and (<= student_version_~j~1 5) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,172 INFO L290 TraceCheckUtils]: 43: Hoare triple {147429#(and (<= student_version_~j~1 5) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:01,172 INFO L290 TraceCheckUtils]: 44: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:01,172 INFO L290 TraceCheckUtils]: 45: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:01,173 INFO L290 TraceCheckUtils]: 46: Hoare triple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:01,174 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {147445#(and (<= main_~n_stones1~0 15) (<= 15 |main_#t~ret9|) (<= 15 main_~n_stones1~0) (<= |main_#t~ret9| 15))} is VALID [2022-04-28 10:42:01,174 INFO L290 TraceCheckUtils]: 48: Hoare triple {147445#(and (<= main_~n_stones1~0 15) (<= 15 |main_#t~ret9|) (<= 15 main_~n_stones1~0) (<= |main_#t~ret9| 15))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {147449#(and (<= 15 main_~n_stones2~0) (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0) (<= main_~n_stones2~0 15))} is VALID [2022-04-28 10:42:01,174 INFO L272 TraceCheckUtils]: 49: Hoare triple {147449#(and (<= 15 main_~n_stones2~0) (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0) (<= main_~n_stones2~0 15))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {147453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:42:01,175 INFO L290 TraceCheckUtils]: 50: Hoare triple {147453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {147457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:42:01,175 INFO L290 TraceCheckUtils]: 51: Hoare triple {147457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {147224#false} is VALID [2022-04-28 10:42:01,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {147224#false} assume !false; {147224#false} is VALID [2022-04-28 10:42:01,175 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:42:01,175 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:01,666 INFO L290 TraceCheckUtils]: 52: Hoare triple {147224#false} assume !false; {147224#false} is VALID [2022-04-28 10:42:01,666 INFO L290 TraceCheckUtils]: 51: Hoare triple {147457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {147224#false} is VALID [2022-04-28 10:42:01,666 INFO L290 TraceCheckUtils]: 50: Hoare triple {147453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {147457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:42:01,667 INFO L272 TraceCheckUtils]: 49: Hoare triple {147269#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {147453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:42:01,667 INFO L290 TraceCheckUtils]: 48: Hoare triple {147268#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {147269#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:42:01,668 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {147268#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:01,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:01,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {147294#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-28 10:42:01,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:01,670 INFO L290 TraceCheckUtils]: 43: Hoare triple {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147293#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-28 10:42:01,670 INFO L290 TraceCheckUtils]: 42: Hoare triple {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147292#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:01,671 INFO L290 TraceCheckUtils]: 41: Hoare triple {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {147291#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-28 10:42:01,671 INFO L290 TraceCheckUtils]: 40: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {147290#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-28 10:42:01,671 INFO L290 TraceCheckUtils]: 39: Hoare triple {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,672 INFO L290 TraceCheckUtils]: 38: Hoare triple {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147289#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-28 10:42:01,672 INFO L290 TraceCheckUtils]: 37: Hoare triple {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147288#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-28 10:42:01,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147287#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:01,673 INFO L290 TraceCheckUtils]: 35: Hoare triple {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147286#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:01,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {147285#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:01,674 INFO L290 TraceCheckUtils]: 33: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,674 INFO L290 TraceCheckUtils]: 32: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,675 INFO L290 TraceCheckUtils]: 29: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {147284#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:01,675 INFO L272 TraceCheckUtils]: 28: Hoare triple {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:01,676 INFO L290 TraceCheckUtils]: 27: Hoare triple {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {147248#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-28 10:42:01,676 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {147223#true} #111#return; {147247#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-28 10:42:01,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:01,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {147283#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-28 10:42:01,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:01,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147282#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-28 10:42:01,678 INFO L290 TraceCheckUtils]: 21: Hoare triple {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147281#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-28 10:42:01,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {147280#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-28 10:42:01,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {147279#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-28 10:42:01,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147278#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147277#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-28 10:42:01,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147276#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:01,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147275#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:01,682 INFO L290 TraceCheckUtils]: 13: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {147274#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:01,682 INFO L290 TraceCheckUtils]: 12: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {147223#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {147273#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:01,684 INFO L272 TraceCheckUtils]: 7: Hoare triple {147223#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L290 TraceCheckUtils]: 6: Hoare triple {147223#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {147223#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {147223#true} call #t~ret10 := main(); {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {147223#true} {147223#true} #117#return; {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {147223#true} assume true; {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {147223#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L272 TraceCheckUtils]: 0: Hoare triple {147223#true} call ULTIMATE.init(); {147223#true} is VALID [2022-04-28 10:42:01,684 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:42:01,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1416614258] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:01,685 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:01,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 41 [2022-04-28 10:42:01,685 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:01,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [503865815] [2022-04-28 10:42:01,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [503865815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:01,685 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:01,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 10:42:01,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [119316446] [2022-04-28 10:42:01,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:01,685 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:42:01,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:01,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:01,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:01,717 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 10:42:01,717 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:01,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 10:42:01,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1543, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 10:42:01,717 INFO L87 Difference]: Start difference. First operand 618 states and 696 transitions. Second operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:13,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:13,953 INFO L93 Difference]: Finished difference Result 624 states and 701 transitions. [2022-04-28 10:42:13,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 10:42:13,953 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:42:13,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:13,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:13,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 142 transitions. [2022-04-28 10:42:13,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:13,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 142 transitions. [2022-04-28 10:42:13,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 142 transitions. [2022-04-28 10:42:14,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:14,078 INFO L225 Difference]: With dead ends: 624 [2022-04-28 10:42:14,078 INFO L226 Difference]: Without dead ends: 600 [2022-04-28 10:42:14,083 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 92 SyntacticMatches, 9 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 757 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=254, Invalid=4576, Unknown=0, NotChecked=0, Total=4830 [2022-04-28 10:42:14,083 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 134 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 3132 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 137 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 3166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 3132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:14,083 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [137 Valid, 216 Invalid, 3166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 3132 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 10:42:14,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 600 states. [2022-04-28 10:42:21,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 600 to 600. [2022-04-28 10:42:21,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:42:21,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-28 10:42:21,569 INFO L74 IsIncluded]: Start isIncluded. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-28 10:42:21,569 INFO L87 Difference]: Start difference. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-28 10:42:21,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:21,582 INFO L93 Difference]: Finished difference Result 600 states and 676 transitions. [2022-04-28 10:42:21,582 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-28 10:42:21,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:21,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:21,584 INFO L74 IsIncluded]: Start isIncluded. First operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) Second operand 600 states. [2022-04-28 10:42:21,584 INFO L87 Difference]: Start difference. First operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) Second operand 600 states. [2022-04-28 10:42:21,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:21,597 INFO L93 Difference]: Finished difference Result 600 states and 676 transitions. [2022-04-28 10:42:21,597 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-28 10:42:21,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:21,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:21,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:42:21,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:42:21,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-28 10:42:21,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 600 states to 600 states and 676 transitions. [2022-04-28 10:42:21,616 INFO L78 Accepts]: Start accepts. Automaton has 600 states and 676 transitions. Word has length 53 [2022-04-28 10:42:21,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:42:21,616 INFO L495 AbstractCegarLoop]: Abstraction has 600 states and 676 transitions. [2022-04-28 10:42:21,616 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 29 states have (on average 1.4137931034482758) internal successors, (41), 27 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:21,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 600 states and 676 transitions. [2022-04-28 10:42:23,212 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 676 edges. 676 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:23,213 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-28 10:42:23,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:42:23,216 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:42:23,216 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:42:23,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Forceful destruction successful, exit code 0 [2022-04-28 10:42:23,416 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable72,64 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:23,416 INFO L420 AbstractCegarLoop]: === Iteration 74 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:42:23,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:42:23,417 INFO L85 PathProgramCache]: Analyzing trace with hash -537493523, now seen corresponding path program 127 times [2022-04-28 10:42:23,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:23,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1262027891] [2022-04-28 10:42:23,419 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:42:23,419 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:42:23,419 INFO L85 PathProgramCache]: Analyzing trace with hash -537493523, now seen corresponding path program 128 times [2022-04-28 10:42:23,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:42:23,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [901008367] [2022-04-28 10:42:23,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:42:23,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:42:23,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:42:23,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,537 INFO L290 TraceCheckUtils]: 0: Hoare triple {151378#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151329#true} is VALID [2022-04-28 10:42:23,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {151329#true} assume true; {151329#true} is VALID [2022-04-28 10:42:23,537 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {151329#true} {151329#true} #117#return; {151329#true} is VALID [2022-04-28 10:42:23,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:42:23,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,691 INFO L290 TraceCheckUtils]: 3: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,691 INFO L290 TraceCheckUtils]: 4: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,692 INFO L290 TraceCheckUtils]: 6: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:23,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:23,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:23,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:23,693 INFO L290 TraceCheckUtils]: 10: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-28 10:42:23,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:42:23,694 INFO L290 TraceCheckUtils]: 12: Hoare triple {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:42:23,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:42:23,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:23,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:23,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:23,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:23,697 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {151329#true} #111#return; {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:42:23,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:42:23,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,905 INFO L290 TraceCheckUtils]: 0: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,906 INFO L290 TraceCheckUtils]: 3: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,907 INFO L290 TraceCheckUtils]: 4: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 6: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:23,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:23,909 INFO L290 TraceCheckUtils]: 10: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:42:23,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:42:23,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:42:23,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:23,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:23,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:23,912 INFO L290 TraceCheckUtils]: 16: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:23,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:23,913 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {151374#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:23,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {151329#true} call ULTIMATE.init(); {151378#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:42:23,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {151378#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151329#true} is VALID [2022-04-28 10:42:23,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {151329#true} assume true; {151329#true} is VALID [2022-04-28 10:42:23,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151329#true} {151329#true} #117#return; {151329#true} is VALID [2022-04-28 10:42:23,914 INFO L272 TraceCheckUtils]: 4: Hoare triple {151329#true} call #t~ret10 := main(); {151329#true} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {151329#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151329#true} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 6: Hoare triple {151329#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151329#true} is VALID [2022-04-28 10:42:23,914 INFO L272 TraceCheckUtils]: 7: Hoare triple {151329#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 8: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,915 INFO L290 TraceCheckUtils]: 10: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,915 INFO L290 TraceCheckUtils]: 12: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:23,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:23,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:23,917 INFO L290 TraceCheckUtils]: 16: Hoare triple {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:23,917 INFO L290 TraceCheckUtils]: 17: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:42:23,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:42:23,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:23,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:23,921 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {151329#true} #111#return; {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:42:23,922 INFO L290 TraceCheckUtils]: 27: Hoare triple {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:42:23,922 INFO L272 TraceCheckUtils]: 28: Hoare triple {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:23,922 INFO L290 TraceCheckUtils]: 29: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,922 INFO L290 TraceCheckUtils]: 30: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 32: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,924 INFO L290 TraceCheckUtils]: 34: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:23,924 INFO L290 TraceCheckUtils]: 35: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 37: Hoare triple {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:23,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:42:23,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:42:23,927 INFO L290 TraceCheckUtils]: 41: Hoare triple {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:42:23,927 INFO L290 TraceCheckUtils]: 42: Hoare triple {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 43: Hoare triple {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 44: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 45: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 46: Hoare triple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:23,929 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {151374#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:23,930 INFO L290 TraceCheckUtils]: 48: Hoare triple {151374#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {151375#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:42:23,930 INFO L272 TraceCheckUtils]: 49: Hoare triple {151375#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {151376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:42:23,930 INFO L290 TraceCheckUtils]: 50: Hoare triple {151376#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {151377#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:42:23,931 INFO L290 TraceCheckUtils]: 51: Hoare triple {151377#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {151330#false} is VALID [2022-04-28 10:42:23,931 INFO L290 TraceCheckUtils]: 52: Hoare triple {151330#false} assume !false; {151330#false} is VALID [2022-04-28 10:42:23,931 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:42:23,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:23,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [901008367] [2022-04-28 10:42:23,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [901008367] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:23,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1474130831] [2022-04-28 10:42:23,931 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:42:23,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:23,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:23,932 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:23,933 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2022-04-28 10:42:24,015 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:42:24,015 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:24,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 10:42:24,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:24,026 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:24,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {151329#true} call ULTIMATE.init(); {151329#true} is VALID [2022-04-28 10:42:24,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {151329#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151329#true} is VALID [2022-04-28 10:42:24,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {151329#true} assume true; {151329#true} is VALID [2022-04-28 10:42:24,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151329#true} {151329#true} #117#return; {151329#true} is VALID [2022-04-28 10:42:24,793 INFO L272 TraceCheckUtils]: 4: Hoare triple {151329#true} call #t~ret10 := main(); {151329#true} is VALID [2022-04-28 10:42:24,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {151329#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151329#true} is VALID [2022-04-28 10:42:24,794 INFO L290 TraceCheckUtils]: 6: Hoare triple {151329#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151329#true} is VALID [2022-04-28 10:42:24,794 INFO L272 TraceCheckUtils]: 7: Hoare triple {151329#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:24,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,795 INFO L290 TraceCheckUtils]: 10: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,795 INFO L290 TraceCheckUtils]: 12: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:24,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:24,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:24,797 INFO L290 TraceCheckUtils]: 16: Hoare triple {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,797 INFO L290 TraceCheckUtils]: 17: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {151456#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {151456#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151460#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {151460#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151464#(and (<= 3 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {151464#(and (<= 3 correct_version_~j~0) (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151468#(and (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 2) correct_version_~j~0))) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:24,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {151468#(and (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 2) correct_version_~j~0))) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:24,800 INFO L290 TraceCheckUtils]: 23: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:24,800 INFO L290 TraceCheckUtils]: 24: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:24,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:24,801 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {151329#true} #111#return; {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:42:24,801 INFO L290 TraceCheckUtils]: 27: Hoare triple {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:42:24,802 INFO L272 TraceCheckUtils]: 28: Hoare triple {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:24,802 INFO L290 TraceCheckUtils]: 29: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,802 INFO L290 TraceCheckUtils]: 30: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,803 INFO L290 TraceCheckUtils]: 32: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,803 INFO L290 TraceCheckUtils]: 33: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:24,804 INFO L290 TraceCheckUtils]: 35: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:24,804 INFO L290 TraceCheckUtils]: 36: Hoare triple {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:24,805 INFO L290 TraceCheckUtils]: 37: Hoare triple {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:24,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:24,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151523#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:24,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {151523#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151527#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-28 10:42:24,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {151527#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151531#(and (<= student_version_~j~1 3) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:24,807 INFO L290 TraceCheckUtils]: 42: Hoare triple {151531#(and (<= student_version_~j~1 3) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151535#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:24,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {151535#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:24,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:24,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:24,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:24,809 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {151551#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:42:24,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {151551#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {151555#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:42:24,810 INFO L272 TraceCheckUtils]: 49: Hoare triple {151555#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones2~0) (<= main_~n_stones2~0 12) (<= 12 main_~n_stones1~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {151559#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:42:24,810 INFO L290 TraceCheckUtils]: 50: Hoare triple {151559#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {151563#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:42:24,811 INFO L290 TraceCheckUtils]: 51: Hoare triple {151563#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {151330#false} is VALID [2022-04-28 10:42:24,811 INFO L290 TraceCheckUtils]: 52: Hoare triple {151330#false} assume !false; {151330#false} is VALID [2022-04-28 10:42:24,811 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:42:24,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:25,287 INFO L290 TraceCheckUtils]: 52: Hoare triple {151330#false} assume !false; {151330#false} is VALID [2022-04-28 10:42:25,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {151563#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {151330#false} is VALID [2022-04-28 10:42:25,288 INFO L290 TraceCheckUtils]: 50: Hoare triple {151559#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {151563#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:42:25,288 INFO L272 TraceCheckUtils]: 49: Hoare triple {151375#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {151559#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:42:25,289 INFO L290 TraceCheckUtils]: 48: Hoare triple {151374#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {151375#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-28 10:42:25,290 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {151374#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-28 10:42:25,290 INFO L290 TraceCheckUtils]: 46: Hoare triple {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:25,290 INFO L290 TraceCheckUtils]: 45: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {151398#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-28 10:42:25,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:25,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151397#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-28 10:42:25,292 INFO L290 TraceCheckUtils]: 42: Hoare triple {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151396#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-28 10:42:25,292 INFO L290 TraceCheckUtils]: 41: Hoare triple {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151395#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 12) (<= 12 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-28 10:42:25,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151394#(and (<= 12 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 12))} is VALID [2022-04-28 10:42:25,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151393#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-28 10:42:25,293 INFO L290 TraceCheckUtils]: 38: Hoare triple {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:25,294 INFO L290 TraceCheckUtils]: 37: Hoare triple {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151392#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-28 10:42:25,294 INFO L290 TraceCheckUtils]: 36: Hoare triple {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151391#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-28 10:42:25,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151390#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-28 10:42:25,295 INFO L290 TraceCheckUtils]: 34: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,296 INFO L290 TraceCheckUtils]: 32: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151389#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-28 10:42:25,297 INFO L272 TraceCheckUtils]: 28: Hoare triple {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:25,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151354#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-28 10:42:25,298 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {151329#true} #111#return; {151353#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-28 10:42:25,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:25,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {151388#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-28 10:42:25,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:25,299 INFO L290 TraceCheckUtils]: 22: Hoare triple {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151387#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-28 10:42:25,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151386#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-28 10:42:25,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151385#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 12) (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-28 10:42:25,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151384#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 12))} is VALID [2022-04-28 10:42:25,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {151383#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-28 10:42:25,301 INFO L290 TraceCheckUtils]: 17: Hoare triple {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:25,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151382#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-28 10:42:25,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151381#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-28 10:42:25,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151380#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-28 10:42:25,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,303 INFO L290 TraceCheckUtils]: 12: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,304 INFO L290 TraceCheckUtils]: 10: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {151329#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151379#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-28 10:42:25,305 INFO L272 TraceCheckUtils]: 7: Hoare triple {151329#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L290 TraceCheckUtils]: 6: Hoare triple {151329#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {151329#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L272 TraceCheckUtils]: 4: Hoare triple {151329#true} call #t~ret10 := main(); {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151329#true} {151329#true} #117#return; {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {151329#true} assume true; {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {151329#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L272 TraceCheckUtils]: 0: Hoare triple {151329#true} call ULTIMATE.init(); {151329#true} is VALID [2022-04-28 10:42:25,305 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-28 10:42:25,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1474130831] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:25,306 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:25,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 41 [2022-04-28 10:42:25,306 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:25,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1262027891] [2022-04-28 10:42:25,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1262027891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:25,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:25,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:42:25,306 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1566046856] [2022-04-28 10:42:25,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:25,306 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:42:25,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:25,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:25,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:25,336 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:42:25,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:25,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:42:25,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=1539, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 10:42:25,336 INFO L87 Difference]: Start difference. First operand 600 states and 676 transitions. Second operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:36,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:36,005 INFO L93 Difference]: Finished difference Result 606 states and 681 transitions. [2022-04-28 10:42:36,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:42:36,006 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-28 10:42:36,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:36,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:36,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 112 transitions. [2022-04-28 10:42:36,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 27 states have (on average 1.4444444444444444) internal successors, (39), 25 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:36,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 112 transitions. [2022-04-28 10:42:36,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 112 transitions. [2022-04-28 10:42:36,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:36,116 INFO L225 Difference]: With dead ends: 606 [2022-04-28 10:42:36,116 INFO L226 Difference]: Without dead ends: 580 [2022-04-28 10:42:36,119 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 90 SyntacticMatches, 9 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 762 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=256, Invalid=4300, Unknown=0, NotChecked=0, Total=4556 [2022-04-28 10:42:36,119 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 95 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2140 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 2172 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 2140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:36,119 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 186 Invalid, 2172 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 2140 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 10:42:36,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 580 states.