/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-34549b5 [2022-04-08 10:28:44,122 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:28:44,123 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:28:44,150 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:28:44,151 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:28:44,152 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:28:44,153 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:28:44,154 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:28:44,157 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:28:44,158 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:28:44,159 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:28:44,160 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:28:44,160 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:28:44,161 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:28:44,162 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:28:44,163 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:28:44,164 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:28:44,165 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:28:44,166 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:28:44,168 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:28:44,169 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:28:44,170 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:28:44,171 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:28:44,172 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:28:44,172 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:28:44,175 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:28:44,175 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:28:44,175 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:28:44,176 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:28:44,176 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:28:44,177 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:28:44,178 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:28:44,178 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:28:44,179 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:28:44,179 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:28:44,180 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:28:44,180 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:28:44,181 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:28:44,181 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:28:44,182 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:28:44,182 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:28:44,183 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:28:44,184 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:28:44,191 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:28:44,191 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:28:44,192 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:28:44,192 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:28:44,192 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:28:44,193 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:28:44,194 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:28:44,194 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:28:44,194 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:28:44,194 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:28:44,194 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:28:44,194 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:28:44,195 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:28:44,195 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:28:44,195 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:28:44,195 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:28:44,195 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:28:44,196 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-08 10:28:44,425 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:28:44,448 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:28:44,450 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:28:44,451 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:28:44,451 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:28:44,452 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-08 10:28:44,516 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef842959/af19109f99d24eb882a1c34d74623bd0/FLAGce4125c4a [2022-04-08 10:28:44,892 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:28:44,892 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/theatreSquare.c [2022-04-08 10:28:44,898 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef842959/af19109f99d24eb882a1c34d74623bd0/FLAGce4125c4a [2022-04-08 10:28:44,908 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eef842959/af19109f99d24eb882a1c34d74623bd0 [2022-04-08 10:28:44,910 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:28:44,911 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:28:44,916 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:28:44,916 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:28:44,919 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:28:44,920 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:28:44" (1/1) ... [2022-04-08 10:28:44,921 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7fd630a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:44, skipping insertion in model container [2022-04-08 10:28:44,921 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:28:44" (1/1) ... [2022-04-08 10:28:44,927 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:28:44,945 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:28:45,157 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-08 10:28:45,193 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:28:45,200 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:28:45,209 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-08 10:28:45,219 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:28:45,233 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:28:45,234 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45 WrapperNode [2022-04-08 10:28:45,234 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:28:45,235 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:28:45,235 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:28:45,235 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:28:45,244 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,244 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,250 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,251 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,269 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,274 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,275 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,277 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:28:45,277 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:28:45,278 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:28:45,278 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:28:45,280 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (1/1) ... [2022-04-08 10:28:45,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:28:45,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:28:45,304 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-08 10:28:45,306 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-08 10:28:45,335 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:28:45,335 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:28:45,335 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:28:45,335 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:28:45,335 INFO L138 BoogieDeclarations]: Found implementation of procedure correct_version [2022-04-08 10:28:45,336 INFO L138 BoogieDeclarations]: Found implementation of procedure student_version [2022-04-08 10:28:45,336 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:28:45,336 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:28:45,336 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:28:45,336 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:28:45,336 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure correct_version [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure student_version [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:28:45,337 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:28:45,338 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:28:45,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:28:45,338 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:28:45,338 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:28:45,411 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:28:45,412 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:28:45,655 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:28:45,661 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:28:45,661 INFO L299 CfgBuilder]: Removed 6 assume(true) statements. [2022-04-08 10:28:45,663 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:28:45 BoogieIcfgContainer [2022-04-08 10:28:45,663 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:28:45,665 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:28:45,665 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:28:45,667 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:28:45,668 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:28:44" (1/3) ... [2022-04-08 10:28:45,668 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d48bd8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:28:45, skipping insertion in model container [2022-04-08 10:28:45,668 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:28:45" (2/3) ... [2022-04-08 10:28:45,669 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d48bd8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:28:45, skipping insertion in model container [2022-04-08 10:28:45,669 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:28:45" (3/3) ... [2022-04-08 10:28:45,670 INFO L111 eAbstractionObserver]: Analyzing ICFG theatreSquare.c [2022-04-08 10:28:45,674 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:28:45,674 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:28:45,718 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:28:45,722 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:28:45,722 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:28:45,736 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-08 10:28:45,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-08 10:28:45,741 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:45,742 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:45,742 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:45,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:45,746 INFO L85 PathProgramCache]: Analyzing trace with hash 1554304209, now seen corresponding path program 1 times [2022-04-08 10:28:45,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:45,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1109675642] [2022-04-08 10:28:45,762 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:28:45,762 INFO L85 PathProgramCache]: Analyzing trace with hash 1554304209, now seen corresponding path program 2 times [2022-04-08 10:28:45,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:45,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2098426378] [2022-04-08 10:28:45,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:45,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:45,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:45,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:45,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:46,003 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-08 10:28:46,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 10:28:46,005 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-08 10:28:46,006 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-08 10:28:46,007 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-08 10:28:46,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 10:28:46,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-08 10:28:46,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret10 := main(); {42#true} is VALID [2022-04-08 10:28:46,009 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-08 10:28:46,009 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-08 10:28:46,010 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-08 10:28:46,011 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-08 10:28:46,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {49#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43#false} is VALID [2022-04-08 10:28:46,012 INFO L290 TraceCheckUtils]: 10: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-08 10:28:46,013 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-08 10:28:46,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:46,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2098426378] [2022-04-08 10:28:46,015 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2098426378] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:46,015 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:46,015 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:46,017 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:46,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1109675642] [2022-04-08 10:28:46,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1109675642] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:46,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:46,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:46,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049567625] [2022-04-08 10:28:46,020 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:46,025 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-08 10:28:46,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:46,030 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-08 10:28:46,057 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-08 10:28:46,057 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:46,058 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:46,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:46,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:46,083 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-08 10:28:46,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:46,511 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-08 10:28:46,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:28:46,512 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-08 10:28:46,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:46,513 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-08 10:28:46,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-08 10:28:46,522 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-08 10:28:46,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-08 10:28:46,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 103 transitions. [2022-04-08 10:28:46,634 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-08 10:28:46,644 INFO L225 Difference]: With dead ends: 76 [2022-04-08 10:28:46,644 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 10:28:46,647 INFO L912 BasicCegarLoop]: 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-08 10:28:46,650 INFO L913 BasicCegarLoop]: 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-08 10:28:46,653 INFO L914 BasicCegarLoop]: 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-08 10:28:46,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 10:28:46,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 10:28:46,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:46,682 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-08 10:28:46,683 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-08 10:28:46,683 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-08 10:28:46,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:46,686 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-08 10:28:46,686 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-08 10:28:46,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:46,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:46,687 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-08 10:28:46,687 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-08 10:28:46,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:46,690 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-08 10:28:46,690 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-08 10:28:46,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:46,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:46,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:46,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:46,691 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-08 10:28:46,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2022-04-08 10:28:46,694 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 11 [2022-04-08 10:28:46,694 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:46,695 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2022-04-08 10:28:46,695 INFO L479 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-08 10:28:46,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 37 transitions. [2022-04-08 10:28:46,739 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-08 10:28:46,739 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-08 10:28:46,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 10:28:46,740 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:46,741 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:46,741 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:28:46,741 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:46,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:46,742 INFO L85 PathProgramCache]: Analyzing trace with hash 362112746, now seen corresponding path program 1 times [2022-04-08 10:28:46,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:46,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [760545739] [2022-04-08 10:28:46,743 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:28:46,743 INFO L85 PathProgramCache]: Analyzing trace with hash 362112746, now seen corresponding path program 2 times [2022-04-08 10:28:46,743 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:46,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1583863903] [2022-04-08 10:28:46,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:46,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:46,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:46,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:46,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:46,878 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-08 10:28:46,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume true; {341#true} is VALID [2022-04-08 10:28:46,879 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {341#true} {341#true} #117#return; {341#true} is VALID [2022-04-08 10:28:46,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:46,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:46,943 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-08 10:28:46,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume !(~b~0 < ~n); {341#true} is VALID [2022-04-08 10:28:46,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume !(~l~0 < ~m); {341#true} is VALID [2022-04-08 10:28:46,945 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-08 10:28:46,946 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-08 10:28:46,946 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-08 10:28:46,947 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-08 10:28:46,948 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-08 10:28:46,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 10:28:46,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:47,010 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-08 10:28:47,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {341#true} assume !(~b~1 < ~n); {341#true} is VALID [2022-04-08 10:28:47,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume !(~l~1 < ~m); {341#true} is VALID [2022-04-08 10:28:47,011 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-08 10:28:47,012 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-08 10:28:47,012 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-08 10:28:47,013 INFO L290 TraceCheckUtils]: 6: Hoare triple {372#(= |student_version_#res| 0)} assume true; {372#(= |student_version_#res| 0)} is VALID [2022-04-08 10:28:47,014 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-08 10:28:47,014 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-08 10:28:47,015 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-08 10:28:47,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {341#true} assume true; {341#true} is VALID [2022-04-08 10:28:47,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {341#true} {341#true} #117#return; {341#true} is VALID [2022-04-08 10:28:47,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {341#true} call #t~ret10 := main(); {341#true} is VALID [2022-04-08 10:28:47,015 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-08 10:28:47,016 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-08 10:28:47,016 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-08 10:28:47,016 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-08 10:28:47,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {341#true} assume !(~b~0 < ~n); {341#true} is VALID [2022-04-08 10:28:47,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {341#true} assume !(~l~0 < ~m); {341#true} is VALID [2022-04-08 10:28:47,017 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-08 10:28:47,017 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-08 10:28:47,018 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-08 10:28:47,018 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-08 10:28:47,019 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-08 10:28:47,020 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-08 10:28:47,020 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-08 10:28:47,020 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-08 10:28:47,021 INFO L290 TraceCheckUtils]: 19: Hoare triple {341#true} assume !(~b~1 < ~n); {341#true} is VALID [2022-04-08 10:28:47,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {341#true} assume !(~l~1 < ~m); {341#true} is VALID [2022-04-08 10:28:47,021 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-08 10:28:47,022 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-08 10:28:47,022 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-08 10:28:47,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {372#(= |student_version_#res| 0)} assume true; {372#(= |student_version_#res| 0)} is VALID [2022-04-08 10:28:47,024 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-08 10:28:47,024 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-08 10:28:47,025 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-08 10:28:47,025 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-08 10:28:47,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {367#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {342#false} is VALID [2022-04-08 10:28:47,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {342#false} assume !false; {342#false} is VALID [2022-04-08 10:28:47,026 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-08 10:28:47,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:47,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1583863903] [2022-04-08 10:28:47,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1583863903] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:47,027 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:47,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:28:47,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:47,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [760545739] [2022-04-08 10:28:47,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [760545739] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:47,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:47,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:28:47,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1979089708] [2022-04-08 10:28:47,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:47,029 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-08 10:28:47,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:47,030 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-08 10:28:47,054 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-08 10:28:47,055 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:28:47,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:47,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:28:47,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:28:47,056 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-08 10:28:47,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:47,882 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-04-08 10:28:47,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:28:47,883 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-08 10:28:47,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:47,883 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-08 10:28:47,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-08 10:28:47,886 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-08 10:28:47,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-08 10:28:47,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 58 transitions. [2022-04-08 10:28:47,946 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-08 10:28:47,948 INFO L225 Difference]: With dead ends: 50 [2022-04-08 10:28:47,948 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 10:28:47,949 INFO L912 BasicCegarLoop]: 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-08 10:28:47,950 INFO L913 BasicCegarLoop]: 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-08 10:28:47,950 INFO L914 BasicCegarLoop]: 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-08 10:28:47,952 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 10:28:47,968 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2022-04-08 10:28:47,968 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:47,968 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-08 10:28:47,969 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-08 10:28:47,969 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-08 10:28:47,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:47,972 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-08 10:28:47,972 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-08 10:28:47,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:47,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:47,973 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-08 10:28:47,974 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-08 10:28:47,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:47,977 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-08 10:28:47,977 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-08 10:28:47,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:47,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:47,978 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:47,978 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:47,978 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-08 10:28:47,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-08 10:28:47,980 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 31 [2022-04-08 10:28:47,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:47,981 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-08 10:28:47,981 INFO L479 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-08 10:28:47,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-08 10:28:48,027 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-08 10:28:48,027 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-08 10:28:48,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:28:48,035 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:48,035 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:48,035 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 10:28:48,036 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:48,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:48,037 INFO L85 PathProgramCache]: Analyzing trace with hash -310269904, now seen corresponding path program 1 times [2022-04-08 10:28:48,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:48,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1934358447] [2022-04-08 10:28:48,053 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:48,054 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:48,054 INFO L85 PathProgramCache]: Analyzing trace with hash -310269904, now seen corresponding path program 2 times [2022-04-08 10:28:48,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:48,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386833944] [2022-04-08 10:28:48,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:48,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:48,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:48,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,140 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-08 10:28:48,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-08 10:28:48,141 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {670#true} {670#true} #117#return; {670#true} is VALID [2022-04-08 10:28:48,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:48,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,151 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-08 10:28:48,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {670#true} assume !(~b~0 < ~n); {670#true} is VALID [2022-04-08 10:28:48,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {670#true} assume !(~l~0 < ~m); {670#true} is VALID [2022-04-08 10:28:48,151 INFO L290 TraceCheckUtils]: 3: Hoare triple {670#true} ~x~0 := 0;~y~0 := 0; {670#true} is VALID [2022-04-08 10:28:48,152 INFO L290 TraceCheckUtils]: 4: Hoare triple {670#true} assume !(~x~0 < ~i~0); {670#true} is VALID [2022-04-08 10:28:48,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {670#true} #res := ~y~0; {670#true} is VALID [2022-04-08 10:28:48,152 INFO L290 TraceCheckUtils]: 6: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-08 10:28:48,152 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {670#true} {670#true} #111#return; {670#true} is VALID [2022-04-08 10:28:48,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 10:28:48,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,174 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-08 10:28:48,175 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-08 10:28:48,175 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-08 10:28:48,176 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-08 10:28:48,176 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-08 10:28:48,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {671#false} assume !(~x~1 < ~i~1); {671#false} is VALID [2022-04-08 10:28:48,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {671#false} #res := ~y~1; {671#false} is VALID [2022-04-08 10:28:48,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {671#false} assume true; {671#false} is VALID [2022-04-08 10:28:48,177 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {671#false} {670#true} #113#return; {671#false} is VALID [2022-04-08 10:28:48,178 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-08 10:28:48,178 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-08 10:28:48,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-08 10:28:48,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {670#true} {670#true} #117#return; {670#true} is VALID [2022-04-08 10:28:48,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {670#true} call #t~ret10 := main(); {670#true} is VALID [2022-04-08 10:28:48,179 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-08 10:28:48,179 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-08 10:28:48,179 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-08 10:28:48,179 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-08 10:28:48,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {670#true} assume !(~b~0 < ~n); {670#true} is VALID [2022-04-08 10:28:48,180 INFO L290 TraceCheckUtils]: 10: Hoare triple {670#true} assume !(~l~0 < ~m); {670#true} is VALID [2022-04-08 10:28:48,180 INFO L290 TraceCheckUtils]: 11: Hoare triple {670#true} ~x~0 := 0;~y~0 := 0; {670#true} is VALID [2022-04-08 10:28:48,180 INFO L290 TraceCheckUtils]: 12: Hoare triple {670#true} assume !(~x~0 < ~i~0); {670#true} is VALID [2022-04-08 10:28:48,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {670#true} #res := ~y~0; {670#true} is VALID [2022-04-08 10:28:48,180 INFO L290 TraceCheckUtils]: 14: Hoare triple {670#true} assume true; {670#true} is VALID [2022-04-08 10:28:48,181 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {670#true} {670#true} #111#return; {670#true} is VALID [2022-04-08 10:28:48,181 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-08 10:28:48,181 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-08 10:28:48,181 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-08 10:28:48,182 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-08 10:28:48,182 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-08 10:28:48,183 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-08 10:28:48,183 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-08 10:28:48,183 INFO L290 TraceCheckUtils]: 23: Hoare triple {671#false} assume !(~x~1 < ~i~1); {671#false} is VALID [2022-04-08 10:28:48,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {671#false} #res := ~y~1; {671#false} is VALID [2022-04-08 10:28:48,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {671#false} assume true; {671#false} is VALID [2022-04-08 10:28:48,184 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {671#false} {670#true} #113#return; {671#false} is VALID [2022-04-08 10:28:48,184 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-08 10:28:48,184 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-08 10:28:48,184 INFO L290 TraceCheckUtils]: 29: Hoare triple {671#false} ~cond := #in~cond; {671#false} is VALID [2022-04-08 10:28:48,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {671#false} assume 0 == ~cond; {671#false} is VALID [2022-04-08 10:28:48,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {671#false} assume !false; {671#false} is VALID [2022-04-08 10:28:48,185 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-08 10:28:48,185 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:48,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386833944] [2022-04-08 10:28:48,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [386833944] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:48,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:48,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:28:48,186 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:48,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1934358447] [2022-04-08 10:28:48,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1934358447] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:48,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:48,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:28:48,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [655513098] [2022-04-08 10:28:48,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:48,187 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-08 10:28:48,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:48,187 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-08 10:28:48,207 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-08 10:28:48,208 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:28:48,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:48,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:28:48,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:28:48,209 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-08 10:28:48,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:48,433 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2022-04-08 10:28:48,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:48,434 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-08 10:28:48,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:48,434 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-08 10:28:48,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-08 10:28:48,436 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-08 10:28:48,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-08 10:28:48,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2022-04-08 10:28:48,492 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-08 10:28:48,494 INFO L225 Difference]: With dead ends: 59 [2022-04-08 10:28:48,494 INFO L226 Difference]: Without dead ends: 49 [2022-04-08 10:28:48,494 INFO L912 BasicCegarLoop]: 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-08 10:28:48,495 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:28:48,496 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 45 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:28:48,496 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-08 10:28:48,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2022-04-08 10:28:48,525 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:48,525 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-08 10:28:48,526 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-08 10:28:48,526 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-08 10:28:48,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:48,529 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-08 10:28:48,529 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-08 10:28:48,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:48,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:48,529 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-08 10:28:48,530 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-08 10:28:48,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:48,532 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-08 10:28:48,532 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-08 10:28:48,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:48,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:48,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:48,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:48,533 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-08 10:28:48,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 56 transitions. [2022-04-08 10:28:48,535 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 56 transitions. Word has length 32 [2022-04-08 10:28:48,535 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:48,536 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 56 transitions. [2022-04-08 10:28:48,536 INFO L479 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-08 10:28:48,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 56 transitions. [2022-04-08 10:28:48,584 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-08 10:28:48,584 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 56 transitions. [2022-04-08 10:28:48,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:28:48,585 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:48,585 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:48,585 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 10:28:48,586 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:48,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:48,586 INFO L85 PathProgramCache]: Analyzing trace with hash 1053423629, now seen corresponding path program 1 times [2022-04-08 10:28:48,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:48,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1287365843] [2022-04-08 10:28:48,590 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:48,591 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:48,591 INFO L85 PathProgramCache]: Analyzing trace with hash 1053423629, now seen corresponding path program 2 times [2022-04-08 10:28:48,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:48,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1539302111] [2022-04-08 10:28:48,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:48,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:48,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:48,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,627 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-08 10:28:48,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-08 10:28:48,627 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1011#true} {1011#true} #117#return; {1011#true} is VALID [2022-04-08 10:28:48,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:48,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,646 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-08 10:28:48,646 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-08 10:28:48,647 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-08 10:28:48,647 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-08 10:28:48,648 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-08 10:28:48,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {1012#false} assume !(~x~0 < ~i~0); {1012#false} is VALID [2022-04-08 10:28:48,648 INFO L290 TraceCheckUtils]: 6: Hoare triple {1012#false} #res := ~y~0; {1012#false} is VALID [2022-04-08 10:28:48,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {1012#false} assume true; {1012#false} is VALID [2022-04-08 10:28:48,648 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1012#false} {1011#true} #111#return; {1012#false} is VALID [2022-04-08 10:28:48,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:28:48,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:48,655 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-08 10:28:48,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {1011#true} assume !(~b~1 < ~n); {1011#true} is VALID [2022-04-08 10:28:48,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {1011#true} assume !(~l~1 < ~m); {1011#true} is VALID [2022-04-08 10:28:48,655 INFO L290 TraceCheckUtils]: 3: Hoare triple {1011#true} ~x~1 := 0;~y~1 := 0; {1011#true} is VALID [2022-04-08 10:28:48,656 INFO L290 TraceCheckUtils]: 4: Hoare triple {1011#true} assume !(~x~1 < ~i~1); {1011#true} is VALID [2022-04-08 10:28:48,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {1011#true} #res := ~y~1; {1011#true} is VALID [2022-04-08 10:28:48,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-08 10:28:48,656 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1011#true} {1012#false} #113#return; {1012#false} is VALID [2022-04-08 10:28:48,657 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-08 10:28:48,657 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-08 10:28:48,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-08 10:28:48,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1011#true} {1011#true} #117#return; {1011#true} is VALID [2022-04-08 10:28:48,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {1011#true} call #t~ret10 := main(); {1011#true} is VALID [2022-04-08 10:28:48,658 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-08 10:28:48,658 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-08 10:28:48,658 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-08 10:28:48,658 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-08 10:28:48,659 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-08 10:28:48,659 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-08 10:28:48,659 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-08 10:28:48,660 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-08 10:28:48,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {1012#false} assume !(~x~0 < ~i~0); {1012#false} is VALID [2022-04-08 10:28:48,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {1012#false} #res := ~y~0; {1012#false} is VALID [2022-04-08 10:28:48,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {1012#false} assume true; {1012#false} is VALID [2022-04-08 10:28:48,660 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1012#false} {1011#true} #111#return; {1012#false} is VALID [2022-04-08 10:28:48,661 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-08 10:28:48,661 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-08 10:28:48,661 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-08 10:28:48,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {1011#true} assume !(~b~1 < ~n); {1011#true} is VALID [2022-04-08 10:28:48,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {1011#true} assume !(~l~1 < ~m); {1011#true} is VALID [2022-04-08 10:28:48,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {1011#true} ~x~1 := 0;~y~1 := 0; {1011#true} is VALID [2022-04-08 10:28:48,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {1011#true} assume !(~x~1 < ~i~1); {1011#true} is VALID [2022-04-08 10:28:48,662 INFO L290 TraceCheckUtils]: 24: Hoare triple {1011#true} #res := ~y~1; {1011#true} is VALID [2022-04-08 10:28:48,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {1011#true} assume true; {1011#true} is VALID [2022-04-08 10:28:48,662 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1011#true} {1012#false} #113#return; {1012#false} is VALID [2022-04-08 10:28:48,662 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-08 10:28:48,662 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-08 10:28:48,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {1012#false} ~cond := #in~cond; {1012#false} is VALID [2022-04-08 10:28:48,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {1012#false} assume 0 == ~cond; {1012#false} is VALID [2022-04-08 10:28:48,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {1012#false} assume !false; {1012#false} is VALID [2022-04-08 10:28:48,663 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-08 10:28:48,663 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:48,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1539302111] [2022-04-08 10:28:48,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1539302111] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:48,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:48,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:28:48,663 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:48,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1287365843] [2022-04-08 10:28:48,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1287365843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:48,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:48,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:28:48,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [787534023] [2022-04-08 10:28:48,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:48,665 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-08 10:28:48,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:48,665 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-08 10:28:48,685 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-08 10:28:48,685 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:28:48,686 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:48,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:28:48,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:28:48,686 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-08 10:28:48,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:48,906 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-08 10:28:48,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:48,907 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-08 10:28:48,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:48,907 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-08 10:28:48,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 10:28:48,909 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-08 10:28:48,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 10:28:48,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-08 10:28:48,975 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-08 10:28:48,976 INFO L225 Difference]: With dead ends: 81 [2022-04-08 10:28:48,977 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 10:28:48,977 INFO L912 BasicCegarLoop]: 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-08 10:28:48,978 INFO L913 BasicCegarLoop]: 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-08 10:28:48,978 INFO L914 BasicCegarLoop]: 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-08 10:28:48,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 10:28:49,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 50. [2022-04-08 10:28:49,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:49,011 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-08 10:28:49,011 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-08 10:28:49,012 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-08 10:28:49,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:49,014 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-08 10:28:49,014 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-08 10:28:49,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:49,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:49,015 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-08 10:28:49,015 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-08 10:28:49,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:49,018 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-08 10:28:49,018 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-08 10:28:49,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:49,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:49,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:49,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:49,019 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-08 10:28:49,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-04-08 10:28:49,021 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 32 [2022-04-08 10:28:49,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:49,021 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-04-08 10:28:49,021 INFO L479 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-08 10:28:49,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 62 transitions. [2022-04-08 10:28:49,073 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-08 10:28:49,073 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-04-08 10:28:49,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 10:28:49,074 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:49,074 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:49,074 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 10:28:49,075 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:49,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:49,075 INFO L85 PathProgramCache]: Analyzing trace with hash 755216986, now seen corresponding path program 1 times [2022-04-08 10:28:49,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:49,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1937173543] [2022-04-08 10:28:49,080 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:49,080 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:49,080 INFO L85 PathProgramCache]: Analyzing trace with hash 755216986, now seen corresponding path program 2 times [2022-04-08 10:28:49,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:49,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1794755265] [2022-04-08 10:28:49,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:49,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:49,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:49,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,127 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-08 10:28:49,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-08 10:28:49,127 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1412#true} {1412#true} #117#return; {1412#true} is VALID [2022-04-08 10:28:49,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:49,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,166 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-08 10:28:49,167 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-08 10:28:49,167 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-08 10:28:49,168 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-08 10:28:49,168 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-08 10:28:49,168 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-08 10:28:49,169 INFO L290 TraceCheckUtils]: 6: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume true; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-08 10:28:49,170 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-08 10:28:49,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 10:28:49,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,189 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-08 10:28:49,189 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-08 10:28:49,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} assume !(~b~1 < ~n); {1412#true} is VALID [2022-04-08 10:28:49,189 INFO L290 TraceCheckUtils]: 3: Hoare triple {1412#true} assume !(~l~1 < ~m); {1412#true} is VALID [2022-04-08 10:28:49,189 INFO L290 TraceCheckUtils]: 4: Hoare triple {1412#true} ~x~1 := 0;~y~1 := 0; {1412#true} is VALID [2022-04-08 10:28:49,190 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-08 10:28:49,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {1412#true} assume !(~x~1 < ~i~1); {1412#true} is VALID [2022-04-08 10:28:49,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {1412#true} #res := ~y~1; {1412#true} is VALID [2022-04-08 10:28:49,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-08 10:28:49,190 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1412#true} {1413#false} #113#return; {1413#false} is VALID [2022-04-08 10:28:49,194 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-08 10:28:49,194 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-08 10:28:49,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-08 10:28:49,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1412#true} {1412#true} #117#return; {1412#true} is VALID [2022-04-08 10:28:49,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {1412#true} call #t~ret10 := main(); {1412#true} is VALID [2022-04-08 10:28:49,195 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-08 10:28:49,195 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-08 10:28:49,195 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-08 10:28:49,196 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-08 10:28:49,196 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-08 10:28:49,197 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-08 10:28:49,197 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-08 10:28:49,197 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-08 10:28:49,198 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-08 10:28:49,198 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#(<= |correct_version_#in~n| 0)} assume true; {1438#(<= |correct_version_#in~n| 0)} is VALID [2022-04-08 10:28:49,199 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-08 10:28:49,199 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-08 10:28:49,199 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-08 10:28:49,200 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-08 10:28:49,200 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-08 10:28:49,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#true} assume !(~b~1 < ~n); {1412#true} is VALID [2022-04-08 10:28:49,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {1412#true} assume !(~l~1 < ~m); {1412#true} is VALID [2022-04-08 10:28:49,200 INFO L290 TraceCheckUtils]: 22: Hoare triple {1412#true} ~x~1 := 0;~y~1 := 0; {1412#true} is VALID [2022-04-08 10:28:49,200 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-08 10:28:49,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {1412#true} assume !(~x~1 < ~i~1); {1412#true} is VALID [2022-04-08 10:28:49,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {1412#true} #res := ~y~1; {1412#true} is VALID [2022-04-08 10:28:49,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#true} assume true; {1412#true} is VALID [2022-04-08 10:28:49,201 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1412#true} {1413#false} #113#return; {1413#false} is VALID [2022-04-08 10:28:49,201 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-08 10:28:49,201 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-08 10:28:49,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#false} ~cond := #in~cond; {1413#false} is VALID [2022-04-08 10:28:49,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#false} assume 0 == ~cond; {1413#false} is VALID [2022-04-08 10:28:49,201 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#false} assume !false; {1413#false} is VALID [2022-04-08 10:28:49,202 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-08 10:28:49,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:49,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1794755265] [2022-04-08 10:28:49,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1794755265] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:49,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:49,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:49,202 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:49,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1937173543] [2022-04-08 10:28:49,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1937173543] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:49,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:49,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:49,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [244984908] [2022-04-08 10:28:49,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:49,203 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-08 10:28:49,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:49,204 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-08 10:28:49,228 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-08 10:28:49,229 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:49,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:49,229 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:49,229 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:49,229 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-08 10:28:49,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:49,497 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-08 10:28:49,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:49,497 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-08 10:28:49,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:49,498 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-08 10:28:49,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 10:28:49,499 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-08 10:28:49,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 10:28:49,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-08 10:28:49,556 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-08 10:28:49,557 INFO L225 Difference]: With dead ends: 77 [2022-04-08 10:28:49,558 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 10:28:49,558 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:28:49,559 INFO L913 BasicCegarLoop]: 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-08 10:28:49,559 INFO L914 BasicCegarLoop]: 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-08 10:28:49,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 10:28:49,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-08 10:28:49,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:49,593 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-08 10:28:49,593 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-08 10:28:49,593 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-08 10:28:49,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:49,595 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-08 10:28:49,595 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-08 10:28:49,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:49,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:49,596 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-08 10:28:49,596 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-08 10:28:49,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:49,598 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-08 10:28:49,598 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-08 10:28:49,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:49,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:49,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:49,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:49,599 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-08 10:28:49,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 57 transitions. [2022-04-08 10:28:49,600 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 57 transitions. Word has length 33 [2022-04-08 10:28:49,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:49,601 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 57 transitions. [2022-04-08 10:28:49,601 INFO L479 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-08 10:28:49,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 57 transitions. [2022-04-08 10:28:49,654 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-08 10:28:49,654 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-08 10:28:49,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 10:28:49,656 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:49,656 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:49,656 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-08 10:28:49,656 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:49,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:49,657 INFO L85 PathProgramCache]: Analyzing trace with hash 1803948538, now seen corresponding path program 1 times [2022-04-08 10:28:49,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:49,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [755961082] [2022-04-08 10:28:49,661 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:49,661 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:49,661 INFO L85 PathProgramCache]: Analyzing trace with hash 1803948538, now seen corresponding path program 2 times [2022-04-08 10:28:49,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:49,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27890961] [2022-04-08 10:28:49,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:49,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:49,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:49,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,722 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-08 10:28:49,722 INFO L290 TraceCheckUtils]: 1: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-08 10:28:49,723 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1789#true} {1789#true} #117#return; {1789#true} is VALID [2022-04-08 10:28:49,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:49,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,754 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-08 10:28:49,754 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-08 10:28:49,755 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-08 10:28:49,755 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-08 10:28:49,756 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-08 10:28:49,756 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-08 10:28:49,756 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-08 10:28:49,757 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-08 10:28:49,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume true; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-08 10:28:49,758 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-08 10:28:49,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-08 10:28:49,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:49,764 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-08 10:28:49,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {1789#true} assume !(~b~1 < ~n); {1789#true} is VALID [2022-04-08 10:28:49,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {1789#true} assume !(~l~1 < ~m); {1789#true} is VALID [2022-04-08 10:28:49,764 INFO L290 TraceCheckUtils]: 3: Hoare triple {1789#true} ~x~1 := 0;~y~1 := 0; {1789#true} is VALID [2022-04-08 10:28:49,765 INFO L290 TraceCheckUtils]: 4: Hoare triple {1789#true} assume !(~x~1 < ~i~1); {1789#true} is VALID [2022-04-08 10:28:49,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {1789#true} #res := ~y~1; {1789#true} is VALID [2022-04-08 10:28:49,765 INFO L290 TraceCheckUtils]: 6: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-08 10:28:49,765 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1789#true} {1790#false} #113#return; {1790#false} is VALID [2022-04-08 10:28:49,765 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-08 10:28:49,766 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-08 10:28:49,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-08 10:28:49,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1789#true} {1789#true} #117#return; {1789#true} is VALID [2022-04-08 10:28:49,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {1789#true} call #t~ret10 := main(); {1789#true} is VALID [2022-04-08 10:28:49,766 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-08 10:28:49,766 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-08 10:28:49,767 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-08 10:28:49,767 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-08 10:28:49,768 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-08 10:28:49,768 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-08 10:28:49,768 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-08 10:28:49,769 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-08 10:28:49,769 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-08 10:28:49,769 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-08 10:28:49,770 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-08 10:28:49,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {1815#(<= |correct_version_#in~m| 0)} assume true; {1815#(<= |correct_version_#in~m| 0)} is VALID [2022-04-08 10:28:49,771 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-08 10:28:49,771 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-08 10:28:49,771 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-08 10:28:49,771 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-08 10:28:49,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {1789#true} assume !(~b~1 < ~n); {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {1789#true} assume !(~l~1 < ~m); {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {1789#true} ~x~1 := 0;~y~1 := 0; {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L290 TraceCheckUtils]: 24: Hoare triple {1789#true} assume !(~x~1 < ~i~1); {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {1789#true} #res := ~y~1; {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L290 TraceCheckUtils]: 26: Hoare triple {1789#true} assume true; {1789#true} is VALID [2022-04-08 10:28:49,772 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1789#true} {1790#false} #113#return; {1790#false} is VALID [2022-04-08 10:28:49,772 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-08 10:28:49,772 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-08 10:28:49,773 INFO L290 TraceCheckUtils]: 30: Hoare triple {1790#false} ~cond := #in~cond; {1790#false} is VALID [2022-04-08 10:28:49,773 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#false} assume 0 == ~cond; {1790#false} is VALID [2022-04-08 10:28:49,773 INFO L290 TraceCheckUtils]: 32: Hoare triple {1790#false} assume !false; {1790#false} is VALID [2022-04-08 10:28:49,773 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-08 10:28:49,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:49,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [27890961] [2022-04-08 10:28:49,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [27890961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:49,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:49,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:49,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:49,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [755961082] [2022-04-08 10:28:49,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [755961082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:49,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:49,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:49,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522350325] [2022-04-08 10:28:49,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:49,774 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-08 10:28:49,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:49,775 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-08 10:28:49,795 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-08 10:28:49,795 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:49,796 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:49,796 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:49,796 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:49,796 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-08 10:28:50,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,089 INFO L93 Difference]: Finished difference Result 83 states and 102 transitions. [2022-04-08 10:28:50,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:50,089 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-08 10:28:50,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:50,089 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-08 10:28:50,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-08 10:28:50,092 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-08 10:28:50,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-08 10:28:50,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2022-04-08 10:28:50,149 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-08 10:28:50,154 INFO L225 Difference]: With dead ends: 83 [2022-04-08 10:28:50,154 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 10:28:50,154 INFO L912 BasicCegarLoop]: 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-08 10:28:50,156 INFO L913 BasicCegarLoop]: 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-08 10:28:50,157 INFO L914 BasicCegarLoop]: 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-08 10:28:50,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 10:28:50,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2022-04-08 10:28:50,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:50,205 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-08 10:28:50,206 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-08 10:28:50,206 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-08 10:28:50,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,207 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-08 10:28:50,208 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-08 10:28:50,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:50,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:50,208 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-08 10:28:50,208 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-08 10:28:50,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,210 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-08 10:28:50,210 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-08 10:28:50,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:50,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:50,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:50,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:50,211 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-08 10:28:50,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2022-04-08 10:28:50,212 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 33 [2022-04-08 10:28:50,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:50,212 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2022-04-08 10:28:50,213 INFO L479 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-08 10:28:50,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 58 transitions. [2022-04-08 10:28:50,276 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-08 10:28:50,276 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-08 10:28:50,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 10:28:50,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:50,278 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:50,278 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-08 10:28:50,279 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:50,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:50,279 INFO L85 PathProgramCache]: Analyzing trace with hash -1563500484, now seen corresponding path program 1 times [2022-04-08 10:28:50,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:50,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [973695416] [2022-04-08 10:28:50,282 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:50,282 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:50,282 INFO L85 PathProgramCache]: Analyzing trace with hash -1563500484, now seen corresponding path program 2 times [2022-04-08 10:28:50,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:50,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773527477] [2022-04-08 10:28:50,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:50,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:50,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:50,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,352 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-08 10:28:50,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-08 10:28:50,352 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2182#true} {2182#true} #117#return; {2182#true} is VALID [2022-04-08 10:28:50,352 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:50,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,369 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-08 10:28:50,369 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-08 10:28:50,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {2182#true} assume !(~b~0 < ~n); {2182#true} is VALID [2022-04-08 10:28:50,369 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-08 10:28:50,369 INFO L290 TraceCheckUtils]: 4: Hoare triple {2182#true} assume !(~l~0 < ~m); {2182#true} is VALID [2022-04-08 10:28:50,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {2182#true} ~x~0 := 0;~y~0 := 0; {2182#true} is VALID [2022-04-08 10:28:50,370 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-08 10:28:50,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {2182#true} assume !(~x~0 < ~i~0); {2182#true} is VALID [2022-04-08 10:28:50,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {2182#true} #res := ~y~0; {2182#true} is VALID [2022-04-08 10:28:50,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-08 10:28:50,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2182#true} {2187#(<= 1 main_~n~0)} #111#return; {2187#(<= 1 main_~n~0)} is VALID [2022-04-08 10:28:50,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:50,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,401 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-08 10:28:50,401 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-08 10:28:50,402 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-08 10:28:50,402 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-08 10:28:50,402 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-08 10:28:50,403 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-08 10:28:50,403 INFO L290 TraceCheckUtils]: 6: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume true; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-08 10:28:50,404 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-08 10:28:50,406 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-08 10:28:50,406 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-08 10:28:50,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-08 10:28:50,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2182#true} {2182#true} #117#return; {2182#true} is VALID [2022-04-08 10:28:50,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {2182#true} call #t~ret10 := main(); {2182#true} is VALID [2022-04-08 10:28:50,407 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-08 10:28:50,407 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-08 10:28:50,407 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-08 10:28:50,407 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-08 10:28:50,407 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-08 10:28:50,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {2182#true} assume !(~b~0 < ~n); {2182#true} is VALID [2022-04-08 10:28:50,408 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-08 10:28:50,408 INFO L290 TraceCheckUtils]: 12: Hoare triple {2182#true} assume !(~l~0 < ~m); {2182#true} is VALID [2022-04-08 10:28:50,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {2182#true} ~x~0 := 0;~y~0 := 0; {2182#true} is VALID [2022-04-08 10:28:50,409 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-08 10:28:50,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {2182#true} assume !(~x~0 < ~i~0); {2182#true} is VALID [2022-04-08 10:28:50,409 INFO L290 TraceCheckUtils]: 16: Hoare triple {2182#true} #res := ~y~0; {2182#true} is VALID [2022-04-08 10:28:50,409 INFO L290 TraceCheckUtils]: 17: Hoare triple {2182#true} assume true; {2182#true} is VALID [2022-04-08 10:28:50,410 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2182#true} {2187#(<= 1 main_~n~0)} #111#return; {2187#(<= 1 main_~n~0)} is VALID [2022-04-08 10:28:50,411 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-08 10:28:50,411 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-08 10:28:50,411 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-08 10:28:50,412 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-08 10:28:50,412 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-08 10:28:50,412 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-08 10:28:50,413 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-08 10:28:50,413 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-08 10:28:50,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {2209#(<= |student_version_#in~n| 0)} assume true; {2209#(<= |student_version_#in~n| 0)} is VALID [2022-04-08 10:28:50,414 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-08 10:28:50,414 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-08 10:28:50,415 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-08 10:28:50,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {2183#false} ~cond := #in~cond; {2183#false} is VALID [2022-04-08 10:28:50,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {2183#false} assume 0 == ~cond; {2183#false} is VALID [2022-04-08 10:28:50,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {2183#false} assume !false; {2183#false} is VALID [2022-04-08 10:28:50,415 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-08 10:28:50,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:50,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773527477] [2022-04-08 10:28:50,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1773527477] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:50,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:50,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:50,416 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:50,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [973695416] [2022-04-08 10:28:50,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [973695416] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:50,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:50,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:50,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239489825] [2022-04-08 10:28:50,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:50,417 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-08 10:28:50,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:50,417 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-08 10:28:50,440 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-08 10:28:50,440 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:50,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:50,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:50,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:50,441 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-08 10:28:50,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,700 INFO L93 Difference]: Finished difference Result 57 states and 66 transitions. [2022-04-08 10:28:50,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:50,700 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-08 10:28:50,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:50,700 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-08 10:28:50,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-08 10:28:50,701 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-08 10:28:50,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-08 10:28:50,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-08 10:28:50,751 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-08 10:28:50,752 INFO L225 Difference]: With dead ends: 57 [2022-04-08 10:28:50,752 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 10:28:50,752 INFO L912 BasicCegarLoop]: 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-08 10:28:50,753 INFO L913 BasicCegarLoop]: 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-08 10:28:50,753 INFO L914 BasicCegarLoop]: 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-08 10:28:50,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 10:28:50,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2022-04-08 10:28:50,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:50,790 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-08 10:28:50,790 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-08 10:28:50,791 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-08 10:28:50,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,792 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-08 10:28:50,792 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-08 10:28:50,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:50,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:50,793 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-08 10:28:50,793 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-08 10:28:50,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:50,794 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-08 10:28:50,795 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-08 10:28:50,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:50,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:50,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:50,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:50,795 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-08 10:28:50,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 53 transitions. [2022-04-08 10:28:50,797 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 53 transitions. Word has length 34 [2022-04-08 10:28:50,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:50,797 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 53 transitions. [2022-04-08 10:28:50,797 INFO L479 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-08 10:28:50,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 53 transitions. [2022-04-08 10:28:50,843 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-08 10:28:50,844 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-08 10:28:50,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:28:50,844 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:50,844 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:50,844 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-08 10:28:50,845 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:50,845 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:50,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1234948107, now seen corresponding path program 1 times [2022-04-08 10:28:50,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:50,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1431845580] [2022-04-08 10:28:50,848 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:50,848 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:50,848 INFO L85 PathProgramCache]: Analyzing trace with hash 1234948107, now seen corresponding path program 2 times [2022-04-08 10:28:50,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:50,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1207781595] [2022-04-08 10:28:50,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:50,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:50,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:50,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,882 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-08 10:28:50,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-08 10:28:50,883 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2512#true} {2512#true} #117#return; {2512#true} is VALID [2022-04-08 10:28:50,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:50,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,906 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-08 10:28:50,907 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-08 10:28:50,907 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-08 10:28:50,908 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-08 10:28:50,908 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-08 10:28:50,908 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-08 10:28:50,909 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-08 10:28:50,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {2513#false} #res := ~y~0; {2513#false} is VALID [2022-04-08 10:28:50,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {2513#false} assume true; {2513#false} is VALID [2022-04-08 10:28:50,909 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2513#false} {2512#true} #111#return; {2513#false} is VALID [2022-04-08 10:28:50,909 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-08 10:28:50,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:50,916 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-08 10:28:50,916 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-08 10:28:50,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume !(~b~1 < ~n); {2512#true} is VALID [2022-04-08 10:28:50,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {2512#true} assume !(~l~1 < ~m); {2512#true} is VALID [2022-04-08 10:28:50,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {2512#true} ~x~1 := 0;~y~1 := 0; {2512#true} is VALID [2022-04-08 10:28:50,916 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-08 10:28:50,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {2512#true} assume !(~x~1 < ~i~1); {2512#true} is VALID [2022-04-08 10:28:50,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} #res := ~y~1; {2512#true} is VALID [2022-04-08 10:28:50,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-08 10:28:50,917 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2512#true} {2513#false} #113#return; {2513#false} is VALID [2022-04-08 10:28:50,917 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-08 10:28:50,918 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-08 10:28:50,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-08 10:28:50,918 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #117#return; {2512#true} is VALID [2022-04-08 10:28:50,918 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret10 := main(); {2512#true} is VALID [2022-04-08 10:28:50,918 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-08 10:28:50,918 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-08 10:28:50,918 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-08 10:28:50,919 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-08 10:28:50,919 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-08 10:28:50,919 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-08 10:28:50,920 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-08 10:28:50,920 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-08 10:28:50,920 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-08 10:28:50,921 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-08 10:28:50,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {2513#false} #res := ~y~0; {2513#false} is VALID [2022-04-08 10:28:50,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {2513#false} assume true; {2513#false} is VALID [2022-04-08 10:28:50,921 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2513#false} {2512#true} #111#return; {2513#false} is VALID [2022-04-08 10:28:50,921 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-08 10:28:50,922 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-08 10:28:50,922 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-08 10:28:50,922 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-08 10:28:50,922 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} assume !(~b~1 < ~n); {2512#true} is VALID [2022-04-08 10:28:50,922 INFO L290 TraceCheckUtils]: 23: Hoare triple {2512#true} assume !(~l~1 < ~m); {2512#true} is VALID [2022-04-08 10:28:50,922 INFO L290 TraceCheckUtils]: 24: Hoare triple {2512#true} ~x~1 := 0;~y~1 := 0; {2512#true} is VALID [2022-04-08 10:28:50,922 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-08 10:28:50,922 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(~x~1 < ~i~1); {2512#true} is VALID [2022-04-08 10:28:50,922 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} #res := ~y~1; {2512#true} is VALID [2022-04-08 10:28:50,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-08 10:28:50,923 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2512#true} {2513#false} #113#return; {2513#false} is VALID [2022-04-08 10:28:50,923 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-08 10:28:50,923 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-08 10:28:50,923 INFO L290 TraceCheckUtils]: 32: Hoare triple {2513#false} ~cond := #in~cond; {2513#false} is VALID [2022-04-08 10:28:50,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {2513#false} assume 0 == ~cond; {2513#false} is VALID [2022-04-08 10:28:50,923 INFO L290 TraceCheckUtils]: 34: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-08 10:28:50,923 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-08 10:28:50,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:50,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1207781595] [2022-04-08 10:28:50,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1207781595] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:50,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:50,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:50,924 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:50,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1431845580] [2022-04-08 10:28:50,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1431845580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:50,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:50,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:50,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [922715391] [2022-04-08 10:28:50,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:50,925 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-08 10:28:50,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:50,925 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-08 10:28:50,946 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-08 10:28:50,946 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:50,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:50,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:50,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:50,947 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-08 10:28:51,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,145 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2022-04-08 10:28:51,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:51,145 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-08 10:28:51,145 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:51,145 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-08 10:28:51,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-08 10:28:51,147 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-08 10:28:51,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-08 10:28:51,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-08 10:28:51,211 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-08 10:28:51,214 INFO L225 Difference]: With dead ends: 64 [2022-04-08 10:28:51,214 INFO L226 Difference]: Without dead ends: 40 [2022-04-08 10:28:51,214 INFO L912 BasicCegarLoop]: 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-08 10:28:51,215 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 39 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:28:51,215 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 44 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:28:51,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-08 10:28:51,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2022-04-08 10:28:51,245 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:51,245 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-08 10:28:51,245 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-08 10:28:51,246 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-08 10:28:51,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,247 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-08 10:28:51,248 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-08 10:28:51,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:51,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:51,248 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-08 10:28:51,248 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-08 10:28:51,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,249 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-08 10:28:51,249 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-08 10:28:51,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:51,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:51,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:51,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:51,250 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-08 10:28:51,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2022-04-08 10:28:51,251 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 35 [2022-04-08 10:28:51,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:51,252 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2022-04-08 10:28:51,252 INFO L479 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-08 10:28:51,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 41 transitions. [2022-04-08 10:28:51,290 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-08 10:28:51,290 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-08 10:28:51,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:28:51,290 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:51,291 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:51,291 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-08 10:28:51,291 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:51,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:51,291 INFO L85 PathProgramCache]: Analyzing trace with hash 2078941294, now seen corresponding path program 1 times [2022-04-08 10:28:51,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:51,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [555440900] [2022-04-08 10:28:51,297 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:51,297 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:51,297 INFO L85 PathProgramCache]: Analyzing trace with hash 2078941294, now seen corresponding path program 2 times [2022-04-08 10:28:51,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:51,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [39977323] [2022-04-08 10:28:51,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:51,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:51,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:51,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,335 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-08 10:28:51,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-08 10:28:51,336 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2829#true} {2829#true} #117#return; {2829#true} is VALID [2022-04-08 10:28:51,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:51,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,343 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-08 10:28:51,343 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-08 10:28:51,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {2829#true} assume !(~b~0 < ~n); {2829#true} is VALID [2022-04-08 10:28:51,343 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-08 10:28:51,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {2829#true} assume !(~l~0 < ~m); {2829#true} is VALID [2022-04-08 10:28:51,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {2829#true} ~x~0 := 0;~y~0 := 0; {2829#true} is VALID [2022-04-08 10:28:51,344 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-08 10:28:51,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {2829#true} assume !(~x~0 < ~i~0); {2829#true} is VALID [2022-04-08 10:28:51,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {2829#true} #res := ~y~0; {2829#true} is VALID [2022-04-08 10:28:51,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-08 10:28:51,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2829#true} {2834#(<= 1 main_~m~0)} #111#return; {2834#(<= 1 main_~m~0)} is VALID [2022-04-08 10:28:51,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:51,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,369 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-08 10:28:51,369 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-08 10:28:51,370 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-08 10:28:51,370 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-08 10:28:51,370 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-08 10:28:51,371 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-08 10:28:51,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {2830#false} #res := ~y~1; {2830#false} is VALID [2022-04-08 10:28:51,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {2830#false} assume true; {2830#false} is VALID [2022-04-08 10:28:51,371 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2830#false} {2834#(<= 1 main_~m~0)} #113#return; {2830#false} is VALID [2022-04-08 10:28:51,372 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-08 10:28:51,372 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-08 10:28:51,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-08 10:28:51,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2829#true} {2829#true} #117#return; {2829#true} is VALID [2022-04-08 10:28:51,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {2829#true} call #t~ret10 := main(); {2829#true} is VALID [2022-04-08 10:28:51,372 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-08 10:28:51,373 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-08 10:28:51,373 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-08 10:28:51,373 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-08 10:28:51,373 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-08 10:28:51,373 INFO L290 TraceCheckUtils]: 10: Hoare triple {2829#true} assume !(~b~0 < ~n); {2829#true} is VALID [2022-04-08 10:28:51,373 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-08 10:28:51,374 INFO L290 TraceCheckUtils]: 12: Hoare triple {2829#true} assume !(~l~0 < ~m); {2829#true} is VALID [2022-04-08 10:28:51,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {2829#true} ~x~0 := 0;~y~0 := 0; {2829#true} is VALID [2022-04-08 10:28:51,374 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-08 10:28:51,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {2829#true} assume !(~x~0 < ~i~0); {2829#true} is VALID [2022-04-08 10:28:51,374 INFO L290 TraceCheckUtils]: 16: Hoare triple {2829#true} #res := ~y~0; {2829#true} is VALID [2022-04-08 10:28:51,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {2829#true} assume true; {2829#true} is VALID [2022-04-08 10:28:51,375 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2829#true} {2834#(<= 1 main_~m~0)} #111#return; {2834#(<= 1 main_~m~0)} is VALID [2022-04-08 10:28:51,375 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-08 10:28:51,375 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-08 10:28:51,375 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-08 10:28:51,376 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-08 10:28:51,376 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-08 10:28:51,377 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-08 10:28:51,377 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-08 10:28:51,377 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-08 10:28:51,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {2830#false} #res := ~y~1; {2830#false} is VALID [2022-04-08 10:28:51,378 INFO L290 TraceCheckUtils]: 28: Hoare triple {2830#false} assume true; {2830#false} is VALID [2022-04-08 10:28:51,378 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2830#false} {2834#(<= 1 main_~m~0)} #113#return; {2830#false} is VALID [2022-04-08 10:28:51,378 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-08 10:28:51,378 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-08 10:28:51,378 INFO L290 TraceCheckUtils]: 32: Hoare triple {2830#false} ~cond := #in~cond; {2830#false} is VALID [2022-04-08 10:28:51,378 INFO L290 TraceCheckUtils]: 33: Hoare triple {2830#false} assume 0 == ~cond; {2830#false} is VALID [2022-04-08 10:28:51,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {2830#false} assume !false; {2830#false} is VALID [2022-04-08 10:28:51,378 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-08 10:28:51,378 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:51,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [39977323] [2022-04-08 10:28:51,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [39977323] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:51,379 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:51,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:28:51,379 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:51,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [555440900] [2022-04-08 10:28:51,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [555440900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:51,379 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:51,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:28:51,379 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [58962310] [2022-04-08 10:28:51,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:51,380 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-08 10:28:51,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:51,380 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-08 10:28:51,402 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-08 10:28:51,402 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:28:51,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:51,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:28:51,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-08 10:28:51,403 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-08 10:28:51,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,689 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-08 10:28:51,689 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:28:51,689 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-08 10:28:51,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:51,690 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-08 10:28:51,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-08 10:28:51,691 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-08 10:28:51,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-08 10:28:51,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 48 transitions. [2022-04-08 10:28:51,740 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-08 10:28:51,740 INFO L225 Difference]: With dead ends: 46 [2022-04-08 10:28:51,741 INFO L226 Difference]: Without dead ends: 37 [2022-04-08 10:28:51,741 INFO L912 BasicCegarLoop]: 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-08 10:28:51,741 INFO L913 BasicCegarLoop]: 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-08 10:28:51,742 INFO L914 BasicCegarLoop]: 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-08 10:28:51,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-08 10:28:51,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-08 10:28:51,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:51,781 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-08 10:28:51,781 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-08 10:28:51,782 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-08 10:28:51,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,790 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-08 10:28:51,790 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-08 10:28:51,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:51,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:51,790 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-08 10:28:51,790 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-08 10:28:51,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:51,791 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-08 10:28:51,791 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-08 10:28:51,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:51,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:51,792 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:51,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:51,792 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-08 10:28:51,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2022-04-08 10:28:51,792 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 35 [2022-04-08 10:28:51,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:51,793 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2022-04-08 10:28:51,793 INFO L479 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-08 10:28:51,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 42 transitions. [2022-04-08 10:28:51,830 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-08 10:28:51,830 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-08 10:28:51,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 10:28:51,831 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:51,831 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:51,831 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-08 10:28:51,831 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:51,831 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:51,831 INFO L85 PathProgramCache]: Analyzing trace with hash 1371807532, now seen corresponding path program 1 times [2022-04-08 10:28:51,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:51,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1464930577] [2022-04-08 10:28:51,834 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:51,835 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:51,835 INFO L85 PathProgramCache]: Analyzing trace with hash 1371807532, now seen corresponding path program 2 times [2022-04-08 10:28:51,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:51,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [507095170] [2022-04-08 10:28:51,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:51,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:51,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:51,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,874 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-08 10:28:51,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-08 10:28:51,875 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3109#true} {3109#true} #117#return; {3109#true} is VALID [2022-04-08 10:28:51,875 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:51,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,882 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-08 10:28:51,882 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-08 10:28:51,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {3109#true} assume !(~b~0 < ~n); {3109#true} is VALID [2022-04-08 10:28:51,882 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-08 10:28:51,882 INFO L290 TraceCheckUtils]: 4: Hoare triple {3109#true} assume !(~l~0 < ~m); {3109#true} is VALID [2022-04-08 10:28:51,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {3109#true} ~x~0 := 0;~y~0 := 0; {3109#true} is VALID [2022-04-08 10:28:51,882 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-08 10:28:51,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {3109#true} assume !(~x~0 < ~i~0); {3109#true} is VALID [2022-04-08 10:28:51,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {3109#true} #res := ~y~0; {3109#true} is VALID [2022-04-08 10:28:51,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-08 10:28:51,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3109#true} {3114#(<= 1 main_~m~0)} #111#return; {3114#(<= 1 main_~m~0)} is VALID [2022-04-08 10:28:51,884 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:51,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:51,907 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-08 10:28:51,907 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-08 10:28:51,908 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-08 10:28:51,908 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-08 10:28:51,908 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-08 10:28:51,909 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-08 10:28:51,909 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-08 10:28:51,909 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-08 10:28:51,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume true; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-08 10:28:51,911 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-08 10:28:51,911 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-08 10:28:51,911 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-08 10:28:51,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-08 10:28:51,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3109#true} {3109#true} #117#return; {3109#true} is VALID [2022-04-08 10:28:51,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {3109#true} call #t~ret10 := main(); {3109#true} is VALID [2022-04-08 10:28:51,912 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-08 10:28:51,912 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-08 10:28:51,912 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-08 10:28:51,912 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-08 10:28:51,912 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-08 10:28:51,913 INFO L290 TraceCheckUtils]: 10: Hoare triple {3109#true} assume !(~b~0 < ~n); {3109#true} is VALID [2022-04-08 10:28:51,913 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-08 10:28:51,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {3109#true} assume !(~l~0 < ~m); {3109#true} is VALID [2022-04-08 10:28:51,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {3109#true} ~x~0 := 0;~y~0 := 0; {3109#true} is VALID [2022-04-08 10:28:51,914 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-08 10:28:51,914 INFO L290 TraceCheckUtils]: 15: Hoare triple {3109#true} assume !(~x~0 < ~i~0); {3109#true} is VALID [2022-04-08 10:28:51,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {3109#true} #res := ~y~0; {3109#true} is VALID [2022-04-08 10:28:51,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {3109#true} assume true; {3109#true} is VALID [2022-04-08 10:28:51,915 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3109#true} {3114#(<= 1 main_~m~0)} #111#return; {3114#(<= 1 main_~m~0)} is VALID [2022-04-08 10:28:51,915 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-08 10:28:51,915 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-08 10:28:51,915 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-08 10:28:51,916 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-08 10:28:51,916 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-08 10:28:51,917 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-08 10:28:51,917 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-08 10:28:51,917 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-08 10:28:51,918 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-08 10:28:51,918 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-08 10:28:51,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {3138#(<= |student_version_#in~m| 0)} assume true; {3138#(<= |student_version_#in~m| 0)} is VALID [2022-04-08 10:28:51,921 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-08 10:28:51,922 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-08 10:28:51,922 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-08 10:28:51,922 INFO L290 TraceCheckUtils]: 33: Hoare triple {3110#false} ~cond := #in~cond; {3110#false} is VALID [2022-04-08 10:28:51,923 INFO L290 TraceCheckUtils]: 34: Hoare triple {3110#false} assume 0 == ~cond; {3110#false} is VALID [2022-04-08 10:28:51,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {3110#false} assume !false; {3110#false} is VALID [2022-04-08 10:28:51,923 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-08 10:28:51,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:51,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [507095170] [2022-04-08 10:28:51,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [507095170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:51,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:51,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:51,924 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:51,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1464930577] [2022-04-08 10:28:51,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1464930577] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:51,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:51,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:28:51,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [119427877] [2022-04-08 10:28:51,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:51,925 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-08 10:28:51,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:51,926 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-08 10:28:51,948 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-08 10:28:51,949 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:28:51,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:51,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:28:51,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:28:51,950 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-08 10:28:52,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:52,216 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2022-04-08 10:28:52,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:28:52,216 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-08 10:28:52,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:52,217 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-08 10:28:52,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-08 10:28:52,218 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-08 10:28:52,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-08 10:28:52,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2022-04-08 10:28:52,262 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-08 10:28:52,263 INFO L225 Difference]: With dead ends: 50 [2022-04-08 10:28:52,263 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 10:28:52,263 INFO L912 BasicCegarLoop]: 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-08 10:28:52,264 INFO L913 BasicCegarLoop]: 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-08 10:28:52,264 INFO L914 BasicCegarLoop]: 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-08 10:28:52,265 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 10:28:52,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-08 10:28:52,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:52,309 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-08 10:28:52,309 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-08 10:28:52,310 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-08 10:28:52,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:52,311 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-08 10:28:52,311 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-08 10:28:52,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:52,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:52,311 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-08 10:28:52,311 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-08 10:28:52,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:52,313 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-08 10:28:52,313 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-08 10:28:52,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:52,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:52,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:52,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:52,314 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-08 10:28:52,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 43 transitions. [2022-04-08 10:28:52,315 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 43 transitions. Word has length 36 [2022-04-08 10:28:52,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:52,315 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 43 transitions. [2022-04-08 10:28:52,317 INFO L479 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-08 10:28:52,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 43 transitions. [2022-04-08 10:28:52,354 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-08 10:28:52,354 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-08 10:28:52,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 10:28:52,354 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:52,354 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:28:52,354 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-08 10:28:52,355 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:52,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:52,355 INFO L85 PathProgramCache]: Analyzing trace with hash -1443111891, now seen corresponding path program 1 times [2022-04-08 10:28:52,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:52,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1367112533] [2022-04-08 10:28:52,358 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:52,358 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:52,358 INFO L85 PathProgramCache]: Analyzing trace with hash -1443111891, now seen corresponding path program 2 times [2022-04-08 10:28:52,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:52,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860922457] [2022-04-08 10:28:52,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:52,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:52,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:52,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:52,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:52,469 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-08 10:28:52,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-08 10:28:52,470 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-08 10:28:52,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:52,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:52,568 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-08 10:28:52,569 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-08 10:28:52,569 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-08 10:28:52,570 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-08 10:28:52,570 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-08 10:28:52,571 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-08 10:28:52,571 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-08 10:28:52,572 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-08 10:28:52,572 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-08 10:28:52,572 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-08 10:28:52,574 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-08 10:28:52,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:52,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:52,734 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-08 10:28:52,735 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-08 10:28:52,735 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-08 10:28:52,736 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-08 10:28:52,736 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-08 10:28:52,736 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-08 10:28:52,737 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-08 10:28:52,737 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-08 10:28:52,738 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-08 10:28:52,738 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-08 10:28:52,739 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-08 10:28:52,740 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-08 10:28:52,740 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-08 10:28:52,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-08 10:28:52,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-08 10:28:52,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-08 10:28:52,740 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-08 10:28:52,740 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-08 10:28:52,740 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-08 10:28:52,749 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-08 10:28:52,750 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-08 10:28:52,750 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-08 10:28:52,751 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-08 10:28:52,751 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-08 10:28:52,751 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-08 10:28:52,752 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-08 10:28:52,752 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-08 10:28:52,753 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-08 10:28:52,753 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-08 10:28:52,754 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-08 10:28:52,754 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-08 10:28:52,754 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-08 10:28:52,755 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-08 10:28:52,755 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-08 10:28:52,756 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-08 10:28:52,756 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-08 10:28:52,756 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-08 10:28:52,757 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-08 10:28:52,757 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-08 10:28:52,758 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-08 10:28:52,759 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-08 10:28:52,760 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-08 10:28:52,761 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-08 10:28:52,761 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-08 10:28:52,762 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-08 10:28:52,762 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-08 10:28:52,763 INFO L290 TraceCheckUtils]: 35: Hoare triple {3431#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3400#false} is VALID [2022-04-08 10:28:52,763 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-08 10:28:52,763 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-08 10:28:52,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:52,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860922457] [2022-04-08 10:28:52,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1860922457] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:28:52,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1406658122] [2022-04-08 10:28:52,763 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:28:52,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:28:52,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:28:52,765 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-08 10:28:52,766 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-08 10:28:52,831 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:28:52,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:28:52,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 10:28:52,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:52,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:28:53,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {3399#true} call ULTIMATE.init(); {3399#true} is VALID [2022-04-08 10:28:53,582 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-08 10:28:53,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-08 10:28:53,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-08 10:28:53,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-08 10:28:53,582 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-08 10:28:53,582 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-08 10:28:53,582 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-08 10:28:53,583 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-08 10:28:53,583 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-08 10:28:53,584 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-08 10:28:53,584 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-08 10:28:53,585 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-08 10:28:53,585 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-08 10:28:53,586 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-08 10:28:53,586 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-08 10:28:53,587 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-08 10:28:53,587 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-08 10:28:53,588 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-08 10:28:53,588 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-08 10:28:53,588 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-08 10:28:53,589 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-08 10:28:53,589 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-08 10:28:53,590 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-08 10:28:53,590 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-08 10:28:53,591 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-08 10:28:53,591 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-08 10:28:53,592 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-08 10:28:53,592 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-08 10:28:53,592 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-08 10:28:53,593 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-08 10:28:53,594 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-08 10:28:53,594 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-08 10:28:53,595 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-08 10:28:53,595 INFO L290 TraceCheckUtils]: 34: Hoare triple {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:28:53,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {3553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3400#false} is VALID [2022-04-08 10:28:53,596 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-08 10:28:53,596 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-08 10:28:53,596 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:28:54,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {3400#false} assume !false; {3400#false} is VALID [2022-04-08 10:28:54,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {3553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3400#false} is VALID [2022-04-08 10:28:54,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {3549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:28:54,024 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-08 10:28:54,025 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-08 10:28:54,026 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-08 10:28:54,031 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-08 10:28:54,031 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-08 10:28:54,032 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-08 10:28:54,032 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-08 10:28:54,033 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-08 10:28:54,033 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-08 10:28:54,034 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-08 10:28:54,034 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-08 10:28:54,035 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-08 10:28:54,035 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-08 10:28:54,035 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-08 10:28:54,036 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-08 10:28:54,036 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-08 10:28:54,037 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-08 10:28:54,037 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-08 10:28:54,038 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-08 10:28:54,038 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-08 10:28:54,040 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-08 10:28:54,041 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-08 10:28:54,042 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-08 10:28:54,042 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-08 10:28:54,043 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-08 10:28:54,043 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-08 10:28:54,043 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-08 10:28:54,043 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-08 10:28:54,043 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-08 10:28:54,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {3399#true} call #t~ret10 := main(); {3399#true} is VALID [2022-04-08 10:28:54,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3399#true} {3399#true} #117#return; {3399#true} is VALID [2022-04-08 10:28:54,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {3399#true} assume true; {3399#true} is VALID [2022-04-08 10:28:54,044 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-08 10:28:54,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {3399#true} call ULTIMATE.init(); {3399#true} is VALID [2022-04-08 10:28:54,044 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-08 10:28:54,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1406658122] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:28:54,044 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:28:54,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 25 [2022-04-08 10:28:54,045 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:54,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1367112533] [2022-04-08 10:28:54,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1367112533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:54,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:54,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:28:54,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [406351063] [2022-04-08 10:28:54,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:54,046 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-08 10:28:54,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:54,046 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-08 10:28:54,073 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-08 10:28:54,073 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:28:54,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:54,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:28:54,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=543, Unknown=0, NotChecked=0, Total=600 [2022-04-08 10:28:54,074 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-08 10:28:55,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:55,608 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-08 10:28:55,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 10:28:55,609 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-08 10:28:55,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:55,609 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-08 10:28:55,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-08 10:28:55,611 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-08 10:28:55,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-08 10:28:55,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 79 transitions. [2022-04-08 10:28:55,680 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-08 10:28:55,682 INFO L225 Difference]: With dead ends: 70 [2022-04-08 10:28:55,682 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 10:28:55,682 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 68 SyntacticMatches, 5 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 245 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=154, Invalid=1568, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 10:28:55,683 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 68 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 593 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:28:55,683 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 108 Invalid, 628 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 593 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:28:55,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 10:28:55,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 54. [2022-04-08 10:28:55,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:55,809 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-08 10:28:55,809 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-08 10:28:55,809 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-08 10:28:55,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:55,811 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-08 10:28:55,811 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 10:28:55,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:55,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:55,812 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-08 10:28:55,812 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-08 10:28:55,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:55,813 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-08 10:28:55,813 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 10:28:55,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:55,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:55,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:55,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:55,814 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-08 10:28:55,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-08 10:28:55,815 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 37 [2022-04-08 10:28:55,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:55,815 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-08 10:28:55,815 INFO L479 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-08 10:28:55,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-08 10:28:55,881 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-08 10:28:55,881 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-08 10:28:55,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 10:28:55,881 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:55,881 INFO L499 BasicCegarLoop]: 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-08 10:28:55,907 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-08 10:28:56,103 WARN L460 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-08 10:28:56,103 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:56,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:56,104 INFO L85 PathProgramCache]: Analyzing trace with hash -437658803, now seen corresponding path program 3 times [2022-04-08 10:28:56,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:56,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [833908897] [2022-04-08 10:28:56,108 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:56,108 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:56,108 INFO L85 PathProgramCache]: Analyzing trace with hash -437658803, now seen corresponding path program 4 times [2022-04-08 10:28:56,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:56,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1961054858] [2022-04-08 10:28:56,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:56,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:56,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:56,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:56,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:56,148 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-08 10:28:56,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,148 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-08 10:28:56,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:56,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:56,153 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-08 10:28:56,153 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-08 10:28:56,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-08 10:28:56,153 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-08 10:28:56,154 INFO L290 TraceCheckUtils]: 4: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-08 10:28:56,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-08 10:28:56,154 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-08 10:28:56,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-08 10:28:56,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-08 10:28:56,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-08 10:28:56,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:56,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:56,186 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-08 10:28:56,187 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-08 10:28:56,187 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-08 10:28:56,188 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-08 10:28:56,188 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-08 10:28:56,188 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-08 10:28:56,189 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-08 10:28:56,189 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-08 10:28:56,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-08 10:28:56,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-08 10:28:56,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-08 10:28:56,190 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-08 10:28:56,190 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-08 10:28:56,190 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-08 10:28:56,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-08 10:28:56,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-08 10:28:56,191 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-08 10:28:56,191 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-08 10:28:56,191 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-08 10:28:56,191 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-08 10:28:56,191 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-08 10:28:56,191 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-08 10:28:56,191 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-08 10:28:56,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-08 10:28:56,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-08 10:28:56,192 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-08 10:28:56,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-08 10:28:56,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-08 10:28:56,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,192 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-08 10:28:56,192 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-08 10:28:56,192 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-08 10:28:56,193 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-08 10:28:56,193 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-08 10:28:56,193 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-08 10:28:56,194 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-08 10:28:56,194 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-08 10:28:56,194 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-08 10:28:56,195 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-08 10:28:56,195 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-08 10:28:56,195 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-08 10:28:56,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-08 10:28:56,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-08 10:28:56,196 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-08 10:28:56,196 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-08 10:28:56,196 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-08 10:28:56,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-08 10:28:56,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-08 10:28:56,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-08 10:28:56,196 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-08 10:28:56,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:56,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1961054858] [2022-04-08 10:28:56,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1961054858] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:28:56,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1643922131] [2022-04-08 10:28:56,197 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:28:56,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:28:56,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:28:56,199 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-08 10:28:56,226 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-08 10:28:56,256 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:28:56,257 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:28:56,257 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 10:28:56,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:56,268 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:28:56,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2022-04-08 10:28:56,393 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-08 10:28:56,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-08 10:28:56,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-08 10:28:56,393 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-08 10:28:56,393 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-08 10:28:56,393 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-08 10:28:56,394 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-08 10:28:56,394 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-08 10:28:56,394 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-08 10:28:56,394 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-08 10:28:56,394 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-08 10:28:56,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-08 10:28:56,394 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-08 10:28:56,394 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-08 10:28:56,394 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-08 10:28:56,394 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,394 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-08 10:28:56,395 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-08 10:28:56,395 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-08 10:28:56,395 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-08 10:28:56,396 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-08 10:28:56,396 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-08 10:28:56,396 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-08 10:28:56,397 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-08 10:28:56,397 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-08 10:28:56,397 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-08 10:28:56,398 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-08 10:28:56,398 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-08 10:28:56,398 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-08 10:28:56,398 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-08 10:28:56,398 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-08 10:28:56,398 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-08 10:28:56,399 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-08 10:28:56,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-08 10:28:56,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-08 10:28:56,399 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-08 10:28:56,399 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-08 10:28:56,399 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:28:56,521 INFO L290 TraceCheckUtils]: 37: Hoare triple {4082#false} assume !false; {4082#false} is VALID [2022-04-08 10:28:56,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {4082#false} assume 0 == ~cond; {4082#false} is VALID [2022-04-08 10:28:56,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {4082#false} ~cond := #in~cond; {4082#false} is VALID [2022-04-08 10:28:56,521 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-08 10:28:56,521 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-08 10:28:56,521 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4082#false} {4081#true} #113#return; {4082#false} is VALID [2022-04-08 10:28:56,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {4082#false} assume true; {4082#false} is VALID [2022-04-08 10:28:56,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {4082#false} #res := ~y~1; {4082#false} is VALID [2022-04-08 10:28:56,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {4082#false} assume !(~x~1 < ~i~1); {4082#false} is VALID [2022-04-08 10:28:56,522 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-08 10:28:56,522 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-08 10:28:56,523 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-08 10:28:56,523 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-08 10:28:56,523 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-08 10:28:56,524 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-08 10:28:56,524 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-08 10:28:56,525 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-08 10:28:56,525 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-08 10:28:56,525 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-08 10:28:56,525 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4081#true} {4081#true} #111#return; {4081#true} is VALID [2022-04-08 10:28:56,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {4081#true} #res := ~y~0; {4081#true} is VALID [2022-04-08 10:28:56,525 INFO L290 TraceCheckUtils]: 15: Hoare triple {4081#true} assume !(~x~0 < ~i~0); {4081#true} is VALID [2022-04-08 10:28:56,525 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-08 10:28:56,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {4081#true} ~x~0 := 0;~y~0 := 0; {4081#true} is VALID [2022-04-08 10:28:56,525 INFO L290 TraceCheckUtils]: 12: Hoare triple {4081#true} assume !(~l~0 < ~m); {4081#true} is VALID [2022-04-08 10:28:56,526 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-08 10:28:56,526 INFO L290 TraceCheckUtils]: 10: Hoare triple {4081#true} assume !(~b~0 < ~n); {4081#true} is VALID [2022-04-08 10:28:56,526 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-08 10:28:56,526 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-08 10:28:56,526 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-08 10:28:56,526 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-08 10:28:56,526 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-08 10:28:56,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {4081#true} call #t~ret10 := main(); {4081#true} is VALID [2022-04-08 10:28:56,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4081#true} {4081#true} #117#return; {4081#true} is VALID [2022-04-08 10:28:56,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {4081#true} assume true; {4081#true} is VALID [2022-04-08 10:28:56,526 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-08 10:28:56,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {4081#true} call ULTIMATE.init(); {4081#true} is VALID [2022-04-08 10:28:56,527 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-08 10:28:56,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1643922131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:28:56,527 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:28:56,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-08 10:28:56,527 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:56,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [833908897] [2022-04-08 10:28:56,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [833908897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:56,527 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:56,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:28:56,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1035509652] [2022-04-08 10:28:56,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:56,528 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-08 10:28:56,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:56,528 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-08 10:28:56,552 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-08 10:28:56,552 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:28:56,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:56,553 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:28:56,553 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:28:56,553 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-08 10:28:56,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:56,929 INFO L93 Difference]: Finished difference Result 80 states and 97 transitions. [2022-04-08 10:28:56,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:28:56,929 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-08 10:28:56,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:56,929 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-08 10:28:56,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-08 10:28:56,930 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-08 10:28:56,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-08 10:28:56,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 59 transitions. [2022-04-08 10:28:56,984 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-08 10:28:56,987 INFO L225 Difference]: With dead ends: 80 [2022-04-08 10:28:56,987 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 10:28:56,987 INFO L912 BasicCegarLoop]: 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-08 10:28:56,988 INFO L913 BasicCegarLoop]: 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-08 10:28:56,988 INFO L914 BasicCegarLoop]: 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-08 10:28:56,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 10:28:57,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2022-04-08 10:28:57,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:57,147 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-08 10:28:57,147 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-08 10:28:57,148 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-08 10:28:57,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:57,150 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-08 10:28:57,150 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-08 10:28:57,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:57,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:57,150 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-08 10:28:57,151 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-08 10:28:57,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:57,152 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-08 10:28:57,152 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-08 10:28:57,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:57,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:57,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:57,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:57,153 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-08 10:28:57,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 10:28:57,156 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 38 [2022-04-08 10:28:57,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:57,156 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 10:28:57,156 INFO L479 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-08 10:28:57,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 10:28:57,248 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-08 10:28:57,248 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 10:28:57,249 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 10:28:57,249 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:28:57,249 INFO L499 BasicCegarLoop]: 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-08 10:28:57,275 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-08 10:28:57,449 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 10:28:57,450 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:28:57,450 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:28:57,450 INFO L85 PathProgramCache]: Analyzing trace with hash 1488699212, now seen corresponding path program 5 times [2022-04-08 10:28:57,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:57,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1068120306] [2022-04-08 10:28:57,459 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:28:57,459 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:28:57,459 INFO L85 PathProgramCache]: Analyzing trace with hash 1488699212, now seen corresponding path program 6 times [2022-04-08 10:28:57,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:28:57,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [163417789] [2022-04-08 10:28:57,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:28:57,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:28:57,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:57,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:28:57,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:57,505 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-08 10:28:57,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-08 10:28:57,506 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-08 10:28:57,506 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:28:57,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:57,547 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-08 10:28:57,548 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-08 10:28:57,548 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-08 10:28:57,549 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-08 10:28:57,549 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-08 10:28:57,549 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-08 10:28:57,550 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-08 10:28:57,550 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-08 10:28:57,550 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-08 10:28:57,551 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-08 10:28:57,551 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-08 10:28:57,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:28:57,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:57,617 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-08 10:28:57,618 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-08 10:28:57,618 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-08 10:28:57,619 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-08 10:28:57,619 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-08 10:28:57,620 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-08 10:28:57,620 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-08 10:28:57,620 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-08 10:28:57,628 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-08 10:28:57,628 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-08 10:28:57,629 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-08 10:28:57,630 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-08 10:28:57,630 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-08 10:28:57,630 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-08 10:28:57,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-08 10:28:57,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-08 10:28:57,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-08 10:28:57,631 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-08 10:28:57,631 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-08 10:28:57,631 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-08 10:28:57,631 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-08 10:28:57,632 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-08 10:28:57,632 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-08 10:28:57,633 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-08 10:28:57,634 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-08 10:28:57,634 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-08 10:28:57,634 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-08 10:28:57,635 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-08 10:28:57,635 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-08 10:28:57,635 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-08 10:28:57,636 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-08 10:28:57,637 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-08 10:28:57,637 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-08 10:28:57,637 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-08 10:28:57,638 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-08 10:28:57,638 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-08 10:28:57,639 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-08 10:28:57,639 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-08 10:28:57,640 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-08 10:28:57,640 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-08 10:28:57,640 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-08 10:28:57,641 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-08 10:28:57,641 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-08 10:28:57,641 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-08 10:28:57,642 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-08 10:28:57,642 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-08 10:28:57,642 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-08 10:28:57,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-08 10:28:57,642 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-08 10:28:57,643 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-08 10:28:57,643 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-08 10:28:57,643 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:28:57,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [163417789] [2022-04-08 10:28:57,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [163417789] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:28:57,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1120063833] [2022-04-08 10:28:57,643 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:28:57,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:28:57,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:28:57,647 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-08 10:28:57,674 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-08 10:28:57,709 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-08 10:28:57,709 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:28:57,710 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:28:57,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:28:57,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:28:58,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4781#true} is VALID [2022-04-08 10:28:58,071 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-08 10:28:58,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-08 10:28:58,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-08 10:28:58,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-08 10:28:58,071 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-08 10:28:58,071 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-08 10:28:58,071 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-08 10:28:58,076 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-08 10:28:58,076 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-08 10:28:58,076 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-08 10:28:58,077 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-08 10:28:58,077 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-08 10:28:58,078 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-08 10:28:58,078 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-08 10:28:58,078 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-08 10:28:58,078 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-08 10:28:58,079 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-08 10:28:58,080 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-08 10:28:58,080 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-08 10:28:58,080 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-08 10:28:58,080 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-08 10:28:58,081 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-08 10:28:58,081 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-08 10:28:58,082 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-08 10:28:58,082 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-08 10:28:58,083 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-08 10:28:58,083 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-08 10:28:58,083 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-08 10:28:58,084 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-08 10:28:58,084 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-08 10:28:58,084 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-08 10:28:58,085 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-08 10:28:58,085 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-08 10:28:58,086 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-08 10:28:58,086 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-08 10:28:58,086 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-08 10:28:58,086 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-08 10:28:58,086 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-08 10:28:58,086 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:28:58,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {4782#false} assume !false; {4782#false} is VALID [2022-04-08 10:28:58,837 INFO L290 TraceCheckUtils]: 36: Hoare triple {4782#false} assume 0 == ~cond; {4782#false} is VALID [2022-04-08 10:28:58,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {4782#false} ~cond := #in~cond; {4782#false} is VALID [2022-04-08 10:28:58,837 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-08 10:28:58,837 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-08 10:28:58,838 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-08 10:28:58,838 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-08 10:28:58,838 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-08 10:28:58,838 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-08 10:28:58,839 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-08 10:28:58,839 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-08 10:28:58,839 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-08 10:28:58,841 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-08 10:28:58,842 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-08 10:28:58,842 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-08 10:28:58,843 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-08 10:28:58,843 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-08 10:28:58,844 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-08 10:28:58,844 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-08 10:28:58,845 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-08 10:28:58,845 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-08 10:28:58,845 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-08 10:28:58,852 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-08 10:28:58,852 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-08 10:28:58,853 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-08 10:28:58,853 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-08 10:28:58,854 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-08 10:28:58,854 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-08 10:28:58,854 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-08 10:28:58,855 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-08 10:28:58,855 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-08 10:28:58,855 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-08 10:28:58,855 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-08 10:28:58,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {4781#true} call #t~ret10 := main(); {4781#true} is VALID [2022-04-08 10:28:58,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4781#true} {4781#true} #117#return; {4781#true} is VALID [2022-04-08 10:28:58,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {4781#true} assume true; {4781#true} is VALID [2022-04-08 10:28:58,855 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-08 10:28:58,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {4781#true} call ULTIMATE.init(); {4781#true} is VALID [2022-04-08 10:28:58,855 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-08 10:28:58,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1120063833] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:28:58,856 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:28:58,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-08 10:28:58,856 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:28:58,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1068120306] [2022-04-08 10:28:58,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1068120306] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:28:58,856 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:28:58,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:28:58,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [287104233] [2022-04-08 10:28:58,856 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:28:58,857 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-08 10:28:58,857 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:28:58,857 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-08 10:28:58,886 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-08 10:28:58,886 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:28:58,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:28:58,886 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:28:58,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:28:58,887 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-08 10:28:59,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:59,693 INFO L93 Difference]: Finished difference Result 82 states and 100 transitions. [2022-04-08 10:28:59,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:28:59,694 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-08 10:28:59,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:28:59,694 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-08 10:28:59,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 10:28:59,695 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-08 10:28:59,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 66 transitions. [2022-04-08 10:28:59,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 66 transitions. [2022-04-08 10:28:59,755 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-08 10:28:59,759 INFO L225 Difference]: With dead ends: 82 [2022-04-08 10:28:59,759 INFO L226 Difference]: Without dead ends: 76 [2022-04-08 10:28:59,760 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=98, Invalid=552, Unknown=0, NotChecked=0, Total=650 [2022-04-08 10:28:59,760 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 61 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:28:59,760 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 76 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:28:59,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-08 10:28:59,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 74. [2022-04-08 10:28:59,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:28:59,925 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-08 10:28:59,925 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-08 10:28:59,926 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-08 10:28:59,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:59,928 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-08 10:28:59,928 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 10:28:59,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:59,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:59,928 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-08 10:28:59,928 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-08 10:28:59,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:28:59,930 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-08 10:28:59,930 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 10:28:59,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:28:59,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:28:59,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:28:59,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:28:59,931 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-08 10:28:59,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 91 transitions. [2022-04-08 10:28:59,933 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 91 transitions. Word has length 38 [2022-04-08 10:28:59,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:28:59,933 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 91 transitions. [2022-04-08 10:28:59,933 INFO L479 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-08 10:28:59,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 91 transitions. [2022-04-08 10:29:00,033 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-08 10:29:00,034 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-08 10:29:00,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 10:29:00,034 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:00,034 INFO L499 BasicCegarLoop]: 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-08 10:29:00,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 10:29:00,234 WARN L460 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-08 10:29:00,235 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:00,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:00,235 INFO L85 PathProgramCache]: Analyzing trace with hash 1229776654, now seen corresponding path program 7 times [2022-04-08 10:29:00,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:00,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1116920292] [2022-04-08 10:29:00,238 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:00,238 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:00,238 INFO L85 PathProgramCache]: Analyzing trace with hash 1229776654, now seen corresponding path program 8 times [2022-04-08 10:29:00,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:00,239 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [839089103] [2022-04-08 10:29:00,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:00,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:00,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:00,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:00,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:00,279 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-08 10:29:00,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,279 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-08 10:29:00,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:00,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:00,308 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-08 10:29:00,309 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-08 10:29:00,309 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-08 10:29:00,310 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-08 10:29:00,310 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-08 10:29:00,310 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-08 10:29:00,311 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-08 10:29:00,311 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-08 10:29:00,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-08 10:29:00,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-08 10:29:00,312 INFO L290 TraceCheckUtils]: 10: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-08 10:29:00,312 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-08 10:29:00,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 10:29:00,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:00,323 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-08 10:29:00,323 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-08 10:29:00,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-08 10:29:00,323 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-08 10:29:00,323 INFO L290 TraceCheckUtils]: 4: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-08 10:29:00,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-08 10:29:00,323 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-08 10:29:00,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-08 10:29:00,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-08 10:29:00,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-08 10:29:00,324 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-08 10:29:00,324 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-08 10:29:00,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-08 10:29:00,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-08 10:29:00,325 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-08 10:29:00,325 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-08 10:29:00,325 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-08 10:29:00,325 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-08 10:29:00,326 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-08 10:29:00,326 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-08 10:29:00,327 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-08 10:29:00,327 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-08 10:29:00,327 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-08 10:29:00,328 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-08 10:29:00,328 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-08 10:29:00,328 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-08 10:29:00,328 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-08 10:29:00,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-08 10:29:00,328 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-08 10:29:00,329 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-08 10:29:00,329 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-08 10:29:00,329 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-08 10:29:00,329 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-08 10:29:00,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-08 10:29:00,329 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-08 10:29:00,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-08 10:29:00,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-08 10:29:00,329 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-08 10:29:00,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-08 10:29:00,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-08 10:29:00,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-08 10:29:00,330 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-08 10:29:00,330 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-08 10:29:00,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-08 10:29:00,330 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-08 10:29:00,330 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-08 10:29:00,330 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-08 10:29:00,330 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:00,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [839089103] [2022-04-08 10:29:00,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [839089103] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:00,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [628136573] [2022-04-08 10:29:00,331 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:00,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:00,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:00,336 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-08 10:29:00,357 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-08 10:29:00,414 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:00,414 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:00,415 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 10:29:00,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:00,428 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:00,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {5531#true} call ULTIMATE.init(); {5531#true} is VALID [2022-04-08 10:29:00,551 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-08 10:29:00,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-08 10:29:00,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-08 10:29:00,551 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-08 10:29:00,551 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-08 10:29:00,551 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-08 10:29:00,552 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-08 10:29:00,552 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-08 10:29:00,553 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-08 10:29:00,553 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-08 10:29:00,553 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-08 10:29:00,554 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-08 10:29:00,554 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-08 10:29:00,555 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-08 10:29:00,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-08 10:29:00,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-08 10:29:00,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-08 10:29:00,555 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-08 10:29:00,555 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-08 10:29:00,555 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-08 10:29:00,556 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-08 10:29:00,556 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-08 10:29:00,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {5532#false} assume !(~b~1 < ~n); {5532#false} is VALID [2022-04-08 10:29:00,556 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-08 10:29:00,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {5532#false} assume !(~l~1 < ~m); {5532#false} is VALID [2022-04-08 10:29:00,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {5532#false} ~x~1 := 0;~y~1 := 0; {5532#false} is VALID [2022-04-08 10:29:00,556 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-08 10:29:00,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {5532#false} assume !(~x~1 < ~i~1); {5532#false} is VALID [2022-04-08 10:29:00,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {5532#false} #res := ~y~1; {5532#false} is VALID [2022-04-08 10:29:00,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-08 10:29:00,556 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5532#false} {5532#false} #113#return; {5532#false} is VALID [2022-04-08 10:29:00,556 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-08 10:29:00,557 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-08 10:29:00,557 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-08 10:29:00,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-08 10:29:00,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-08 10:29:00,557 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-08 10:29:00,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:00,705 INFO L290 TraceCheckUtils]: 37: Hoare triple {5532#false} assume !false; {5532#false} is VALID [2022-04-08 10:29:00,705 INFO L290 TraceCheckUtils]: 36: Hoare triple {5532#false} assume 0 == ~cond; {5532#false} is VALID [2022-04-08 10:29:00,705 INFO L290 TraceCheckUtils]: 35: Hoare triple {5532#false} ~cond := #in~cond; {5532#false} is VALID [2022-04-08 10:29:00,705 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-08 10:29:00,705 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-08 10:29:00,705 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5531#true} {5532#false} #113#return; {5532#false} is VALID [2022-04-08 10:29:00,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {5531#true} #res := ~y~1; {5531#true} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 29: Hoare triple {5531#true} assume !(~x~1 < ~i~1); {5531#true} is VALID [2022-04-08 10:29:00,706 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-08 10:29:00,706 INFO L290 TraceCheckUtils]: 27: Hoare triple {5531#true} ~x~1 := 0;~y~1 := 0; {5531#true} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 26: Hoare triple {5531#true} assume !(~l~1 < ~m); {5531#true} is VALID [2022-04-08 10:29:00,706 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-08 10:29:00,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {5531#true} assume !(~b~1 < ~n); {5531#true} is VALID [2022-04-08 10:29:00,706 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-08 10:29:00,706 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-08 10:29:00,706 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-08 10:29:00,706 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-08 10:29:00,706 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5532#false} {5531#true} #111#return; {5532#false} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {5532#false} assume true; {5532#false} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {5532#false} #res := ~y~0; {5532#false} is VALID [2022-04-08 10:29:00,706 INFO L290 TraceCheckUtils]: 16: Hoare triple {5532#false} assume !(~x~0 < ~i~0); {5532#false} is VALID [2022-04-08 10:29:00,707 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-08 10:29:00,707 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-08 10:29:00,708 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-08 10:29:00,708 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-08 10:29:00,708 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-08 10:29:00,708 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-08 10:29:00,709 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-08 10:29:00,709 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-08 10:29:00,709 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-08 10:29:00,709 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-08 10:29:00,709 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-08 10:29:00,709 INFO L272 TraceCheckUtils]: 4: Hoare triple {5531#true} call #t~ret10 := main(); {5531#true} is VALID [2022-04-08 10:29:00,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5531#true} {5531#true} #117#return; {5531#true} is VALID [2022-04-08 10:29:00,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {5531#true} assume true; {5531#true} is VALID [2022-04-08 10:29:00,710 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-08 10:29:00,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {5531#true} call ULTIMATE.init(); {5531#true} is VALID [2022-04-08 10:29:00,710 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-08 10:29:00,710 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [628136573] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:00,710 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:00,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-08 10:29:00,710 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:00,710 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1116920292] [2022-04-08 10:29:00,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1116920292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:00,711 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:00,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:29:00,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [212367314] [2022-04-08 10:29:00,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:00,712 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-08 10:29:00,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:00,712 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-08 10:29:00,738 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-08 10:29:00,739 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:29:00,739 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:00,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:29:00,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:29:00,739 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-08 10:29:01,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:01,227 INFO L93 Difference]: Finished difference Result 140 states and 174 transitions. [2022-04-08 10:29:01,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:29:01,228 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-08 10:29:01,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:01,228 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-08 10:29:01,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-08 10:29:01,229 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-08 10:29:01,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-08 10:29:01,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2022-04-08 10:29:01,280 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-08 10:29:01,281 INFO L225 Difference]: With dead ends: 140 [2022-04-08 10:29:01,281 INFO L226 Difference]: Without dead ends: 90 [2022-04-08 10:29:01,285 INFO L912 BasicCegarLoop]: 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-08 10:29:01,286 INFO L913 BasicCegarLoop]: 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-08 10:29:01,286 INFO L914 BasicCegarLoop]: 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-08 10:29:01,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-08 10:29:01,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 84. [2022-04-08 10:29:01,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:01,500 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-08 10:29:01,501 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-08 10:29:01,501 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-08 10:29:01,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:01,502 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-08 10:29:01,503 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-08 10:29:01,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:01,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:01,503 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-08 10:29:01,503 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-08 10:29:01,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:01,505 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-08 10:29:01,505 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-08 10:29:01,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:01,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:01,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:01,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:01,506 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-08 10:29:01,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 104 transitions. [2022-04-08 10:29:01,508 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 104 transitions. Word has length 38 [2022-04-08 10:29:01,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:01,508 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 104 transitions. [2022-04-08 10:29:01,508 INFO L479 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-08 10:29:01,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 104 transitions. [2022-04-08 10:29:01,622 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-08 10:29:01,622 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-08 10:29:01,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 10:29:01,623 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:01,623 INFO L499 BasicCegarLoop]: 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-08 10:29:01,642 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 10:29:01,831 WARN L460 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-08 10:29:01,831 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:01,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:01,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1473231215, now seen corresponding path program 9 times [2022-04-08 10:29:01,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:01,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1226512754] [2022-04-08 10:29:01,834 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:01,834 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:01,834 INFO L85 PathProgramCache]: Analyzing trace with hash 1473231215, now seen corresponding path program 10 times [2022-04-08 10:29:01,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:01,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [556970399] [2022-04-08 10:29:01,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:01,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:01,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:01,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:01,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:01,894 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-08 10:29:01,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-08 10:29:01,894 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-08 10:29:01,894 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:01,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:01,950 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-08 10:29:01,950 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-08 10:29:01,951 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-08 10:29:01,951 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-08 10:29:01,952 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-08 10:29:01,952 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-08 10:29:01,953 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-08 10:29:01,953 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-08 10:29:01,953 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-08 10:29:01,954 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-08 10:29:01,954 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-08 10:29:01,955 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-08 10:29:01,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 10:29:01,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:02,007 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-08 10:29:02,008 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-08 10:29:02,008 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-08 10:29:02,009 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-08 10:29:02,009 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-08 10:29:02,009 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-08 10:29:02,010 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-08 10:29:02,010 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-08 10:29:02,010 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-08 10:29:02,011 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-08 10:29:02,011 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-08 10:29:02,012 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-08 10:29:02,012 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-08 10:29:02,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-08 10:29:02,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-08 10:29:02,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-08 10:29:02,012 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-08 10:29:02,012 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-08 10:29:02,012 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-08 10:29:02,013 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-08 10:29:02,013 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-08 10:29:02,013 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-08 10:29:02,014 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-08 10:29:02,014 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-08 10:29:02,015 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-08 10:29:02,015 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-08 10:29:02,015 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-08 10:29:02,016 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-08 10:29:02,016 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-08 10:29:02,016 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-08 10:29:02,017 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-08 10:29:02,017 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-08 10:29:02,018 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-08 10:29:02,018 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-08 10:29:02,018 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-08 10:29:02,019 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-08 10:29:02,019 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-08 10:29:02,020 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-08 10:29:02,020 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-08 10:29:02,020 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-08 10:29:02,021 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-08 10:29:02,021 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-08 10:29:02,021 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-08 10:29:02,022 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-08 10:29:02,022 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-08 10:29:02,022 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-08 10:29:02,022 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-08 10:29:02,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-08 10:29:02,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-08 10:29:02,023 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-08 10:29:02,023 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:02,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [556970399] [2022-04-08 10:29:02,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [556970399] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:02,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1479095415] [2022-04-08 10:29:02,023 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:29:02,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:02,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:02,024 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-08 10:29:02,055 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-08 10:29:02,080 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:29:02,080 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:02,081 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:29:02,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:02,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:02,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {6431#true} call ULTIMATE.init(); {6431#true} is VALID [2022-04-08 10:29:02,412 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-08 10:29:02,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-08 10:29:02,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-08 10:29:02,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-08 10:29:02,412 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-08 10:29:02,413 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-08 10:29:02,413 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-08 10:29:02,413 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-08 10:29:02,414 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-08 10:29:02,414 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-08 10:29:02,415 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-08 10:29:02,416 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-08 10:29:02,416 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-08 10:29:02,416 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-08 10:29:02,417 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-08 10:29:02,417 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-08 10:29:02,418 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-08 10:29:02,418 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-08 10:29:02,419 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-08 10:29:02,419 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-08 10:29:02,420 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-08 10:29:02,420 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-08 10:29:02,421 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-08 10:29:02,421 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-08 10:29:02,422 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-08 10:29:02,422 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-08 10:29:02,423 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-08 10:29:02,423 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-08 10:29:02,424 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-08 10:29:02,424 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-08 10:29:02,424 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-08 10:29:02,426 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-08 10:29:02,426 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-08 10:29:02,426 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-08 10:29:02,426 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-08 10:29:02,426 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-08 10:29:02,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-08 10:29:02,426 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-08 10:29:02,426 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:03,190 INFO L290 TraceCheckUtils]: 37: Hoare triple {6432#false} assume !false; {6432#false} is VALID [2022-04-08 10:29:03,190 INFO L290 TraceCheckUtils]: 36: Hoare triple {6432#false} assume 0 == ~cond; {6432#false} is VALID [2022-04-08 10:29:03,190 INFO L290 TraceCheckUtils]: 35: Hoare triple {6432#false} ~cond := #in~cond; {6432#false} is VALID [2022-04-08 10:29:03,190 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-08 10:29:03,190 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-08 10:29:03,191 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-08 10:29:03,191 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-08 10:29:03,192 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-08 10:29:03,192 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-08 10:29:03,192 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-08 10:29:03,192 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-08 10:29:03,193 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-08 10:29:03,193 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-08 10:29:03,194 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-08 10:29:03,194 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-08 10:29:03,194 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-08 10:29:03,194 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-08 10:29:03,195 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-08 10:29:03,195 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-08 10:29:03,196 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-08 10:29:03,196 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-08 10:29:03,196 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-08 10:29:03,196 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-08 10:29:03,197 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-08 10:29:03,197 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-08 10:29:03,197 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-08 10:29:03,198 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-08 10:29:03,198 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-08 10:29:03,199 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-08 10:29:03,199 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-08 10:29:03,199 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-08 10:29:03,199 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-08 10:29:03,199 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-08 10:29:03,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {6431#true} call #t~ret10 := main(); {6431#true} is VALID [2022-04-08 10:29:03,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6431#true} {6431#true} #117#return; {6431#true} is VALID [2022-04-08 10:29:03,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {6431#true} assume true; {6431#true} is VALID [2022-04-08 10:29:03,199 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-08 10:29:03,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {6431#true} call ULTIMATE.init(); {6431#true} is VALID [2022-04-08 10:29:03,200 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-08 10:29:03,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1479095415] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:03,200 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:03,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-08 10:29:03,200 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:03,200 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1226512754] [2022-04-08 10:29:03,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1226512754] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:03,200 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:03,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:29:03,200 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1753856514] [2022-04-08 10:29:03,200 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:03,201 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-08 10:29:03,201 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:03,201 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-08 10:29:03,230 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-08 10:29:03,231 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:29:03,231 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:03,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:29:03,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:29:03,231 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-08 10:29:04,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:04,178 INFO L93 Difference]: Finished difference Result 92 states and 111 transitions. [2022-04-08 10:29:04,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:29:04,178 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-08 10:29:04,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:04,178 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-08 10:29:04,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-08 10:29:04,180 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-08 10:29:04,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-08 10:29:04,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-08 10:29:04,236 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-08 10:29:04,238 INFO L225 Difference]: With dead ends: 92 [2022-04-08 10:29:04,238 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 10:29:04,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 69 SyntacticMatches, 3 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=98, Invalid=552, Unknown=0, NotChecked=0, Total=650 [2022-04-08 10:29:04,241 INFO L913 BasicCegarLoop]: 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-08 10:29:04,241 INFO L914 BasicCegarLoop]: 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-08 10:29:04,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 10:29:04,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 84. [2022-04-08 10:29:04,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:04,468 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-08 10:29:04,469 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-08 10:29:04,469 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-08 10:29:04,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:04,471 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-08 10:29:04,471 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-08 10:29:04,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:04,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:04,471 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-08 10:29:04,472 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-08 10:29:04,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:04,473 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-08 10:29:04,473 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-08 10:29:04,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:04,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:04,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:04,474 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:04,474 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-08 10:29:04,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 102 transitions. [2022-04-08 10:29:04,476 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 102 transitions. Word has length 38 [2022-04-08 10:29:04,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:04,476 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 102 transitions. [2022-04-08 10:29:04,476 INFO L479 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-08 10:29:04,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 102 transitions. [2022-04-08 10:29:04,604 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-08 10:29:04,604 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2022-04-08 10:29:04,605 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:29:04,605 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:04,605 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:29:04,631 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:29:04,806 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 10:29:04,806 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:04,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:04,807 INFO L85 PathProgramCache]: Analyzing trace with hash 1109766783, now seen corresponding path program 11 times [2022-04-08 10:29:04,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:04,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1761784075] [2022-04-08 10:29:04,809 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:04,809 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:04,809 INFO L85 PathProgramCache]: Analyzing trace with hash 1109766783, now seen corresponding path program 12 times [2022-04-08 10:29:04,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:04,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674225308] [2022-04-08 10:29:04,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:04,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:04,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:04,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:04,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:04,879 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-08 10:29:04,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-08 10:29:04,879 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-08 10:29:04,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:04,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:04,928 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-08 10:29:04,929 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-08 10:29:04,929 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-08 10:29:04,930 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-08 10:29:04,930 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-08 10:29:04,931 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-08 10:29:04,931 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-08 10:29:04,931 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-08 10:29:04,932 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-08 10:29:04,932 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-08 10:29:04,933 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-08 10:29:04,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:29:04,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:05,008 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-08 10:29:05,008 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-08 10:29:05,009 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-08 10:29:05,009 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-08 10:29:05,010 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-08 10:29:05,010 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-08 10:29:05,011 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-08 10:29:05,011 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-08 10:29:05,011 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-08 10:29:05,011 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-08 10:29:05,012 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-08 10:29:05,012 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-08 10:29:05,013 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-08 10:29:05,013 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-08 10:29:05,013 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-08 10:29:05,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-08 10:29:05,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-08 10:29:05,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-08 10:29:05,013 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-08 10:29:05,013 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-08 10:29:05,014 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-08 10:29:05,014 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-08 10:29:05,014 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-08 10:29:05,015 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-08 10:29:05,015 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-08 10:29:05,015 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-08 10:29:05,016 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-08 10:29:05,016 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-08 10:29:05,016 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-08 10:29:05,016 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-08 10:29:05,017 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-08 10:29:05,017 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-08 10:29:05,018 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-08 10:29:05,018 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-08 10:29:05,018 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-08 10:29:05,019 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-08 10:29:05,019 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-08 10:29:05,020 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-08 10:29:05,020 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-08 10:29:05,020 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-08 10:29:05,020 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-08 10:29:05,021 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-08 10:29:05,021 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-08 10:29:05,021 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-08 10:29:05,021 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-08 10:29:05,022 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-08 10:29:05,022 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-08 10:29:05,023 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-08 10:29:05,023 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-08 10:29:05,023 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-08 10:29:05,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-08 10:29:05,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-08 10:29:05,023 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-08 10:29:05,023 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:05,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674225308] [2022-04-08 10:29:05,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1674225308] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:05,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1666097951] [2022-04-08 10:29:05,024 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:29:05,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:05,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:05,027 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-08 10:29:05,055 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-08 10:29:05,087 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-08 10:29:05,087 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:05,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:29:05,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:05,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:05,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {7241#true} call ULTIMATE.init(); {7241#true} is VALID [2022-04-08 10:29:05,372 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-08 10:29:05,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-08 10:29:05,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-08 10:29:05,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-08 10:29:05,372 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-08 10:29:05,372 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-08 10:29:05,372 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-08 10:29:05,373 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-08 10:29:05,373 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-08 10:29:05,374 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-08 10:29:05,374 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-08 10:29:05,374 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-08 10:29:05,375 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-08 10:29:05,375 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-08 10:29:05,375 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-08 10:29:05,376 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-08 10:29:05,376 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-08 10:29:05,376 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-08 10:29:05,377 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-08 10:29:05,377 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-08 10:29:05,377 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-08 10:29:05,378 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-08 10:29:05,378 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-08 10:29:05,378 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-08 10:29:05,379 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-08 10:29:05,379 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-08 10:29:05,379 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-08 10:29:05,380 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-08 10:29:05,380 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-08 10:29:05,380 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-08 10:29:05,380 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-08 10:29:05,381 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-08 10:29:05,381 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-08 10:29:05,381 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-08 10:29:05,382 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-08 10:29:05,382 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-08 10:29:05,382 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-08 10:29:05,382 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-08 10:29:05,382 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-08 10:29:05,382 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:06,069 INFO L290 TraceCheckUtils]: 38: Hoare triple {7242#false} assume !false; {7242#false} is VALID [2022-04-08 10:29:06,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {7242#false} assume 0 == ~cond; {7242#false} is VALID [2022-04-08 10:29:06,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {7242#false} ~cond := #in~cond; {7242#false} is VALID [2022-04-08 10:29:06,070 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-08 10:29:06,070 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-08 10:29:06,070 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-08 10:29:06,071 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-08 10:29:06,071 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-08 10:29:06,071 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-08 10:29:06,072 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-08 10:29:06,072 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-08 10:29:06,072 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-08 10:29:06,072 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-08 10:29:06,073 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-08 10:29:06,073 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-08 10:29:06,073 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-08 10:29:06,075 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-08 10:29:06,075 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-08 10:29:06,075 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-08 10:29:06,075 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-08 10:29:06,076 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-08 10:29:06,076 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-08 10:29:06,077 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-08 10:29:06,077 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-08 10:29:06,077 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-08 10:29:06,077 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-08 10:29:06,078 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-08 10:29:06,078 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-08 10:29:06,078 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-08 10:29:06,079 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-08 10:29:06,079 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-08 10:29:06,079 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-08 10:29:06,079 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-08 10:29:06,079 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-08 10:29:06,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {7241#true} call #t~ret10 := main(); {7241#true} is VALID [2022-04-08 10:29:06,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7241#true} {7241#true} #117#return; {7241#true} is VALID [2022-04-08 10:29:06,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {7241#true} assume true; {7241#true} is VALID [2022-04-08 10:29:06,080 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-08 10:29:06,080 INFO L272 TraceCheckUtils]: 0: Hoare triple {7241#true} call ULTIMATE.init(); {7241#true} is VALID [2022-04-08 10:29:06,080 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-08 10:29:06,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1666097951] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:06,080 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:06,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-08 10:29:06,080 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:06,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1761784075] [2022-04-08 10:29:06,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1761784075] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:06,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:06,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:29:06,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [209381414] [2022-04-08 10:29:06,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:06,081 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-08 10:29:06,081 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:06,081 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-08 10:29:06,106 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-08 10:29:06,106 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:29:06,106 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:06,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:29:06,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:29:06,107 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-08 10:29:07,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:07,176 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-08 10:29:07,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:29:07,176 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-08 10:29:07,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:07,176 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-08 10:29:07,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-08 10:29:07,178 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-08 10:29:07,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-08 10:29:07,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-08 10:29:07,248 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-08 10:29:07,250 INFO L225 Difference]: With dead ends: 108 [2022-04-08 10:29:07,250 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 10:29:07,250 INFO L912 BasicCegarLoop]: 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-08 10:29:07,251 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 70 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:29:07,251 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 79 Invalid, 365 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:29:07,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 10:29:07,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 89. [2022-04-08 10:29:07,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:07,564 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-08 10:29:07,564 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-08 10:29:07,564 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-08 10:29:07,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:07,566 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-08 10:29:07,566 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-08 10:29:07,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:07,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:07,567 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-08 10:29:07,567 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-08 10:29:07,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:07,569 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-08 10:29:07,569 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-08 10:29:07,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:07,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:07,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:07,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:07,570 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-08 10:29:07,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 107 transitions. [2022-04-08 10:29:07,571 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 107 transitions. Word has length 39 [2022-04-08 10:29:07,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:07,572 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 107 transitions. [2022-04-08 10:29:07,572 INFO L479 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-08 10:29:07,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 107 transitions. [2022-04-08 10:29:07,713 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-08 10:29:07,714 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-08 10:29:07,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:29:07,714 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:07,715 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:29:07,739 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-08 10:29:07,915 WARN L460 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-08 10:29:07,915 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:07,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:07,916 INFO L85 PathProgramCache]: Analyzing trace with hash 1701022282, now seen corresponding path program 13 times [2022-04-08 10:29:07,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:07,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1347435064] [2022-04-08 10:29:07,918 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:07,918 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:07,918 INFO L85 PathProgramCache]: Analyzing trace with hash 1701022282, now seen corresponding path program 14 times [2022-04-08 10:29:07,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:07,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1093592776] [2022-04-08 10:29:07,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:07,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:07,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:08,011 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:08,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:08,015 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-08 10:29:08,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-08 10:29:08,016 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-08 10:29:08,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:08,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:08,130 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-08 10:29:08,130 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-08 10:29:08,131 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-08 10:29:08,131 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-08 10:29:08,132 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-08 10:29:08,132 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-08 10:29:08,132 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-08 10:29:08,133 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-08 10:29:08,133 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-08 10:29:08,133 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-08 10:29:08,134 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-08 10:29:08,134 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-08 10:29:08,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 10:29:08,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:08,267 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-08 10:29:08,268 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-08 10:29:08,268 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-08 10:29:08,269 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-08 10:29:08,269 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-08 10:29:08,271 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-08 10:29:08,272 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-08 10:29:08,272 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-08 10:29:08,273 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-08 10:29:08,273 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-08 10:29:08,274 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-08 10:29:08,275 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-08 10:29:08,276 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-08 10:29:08,276 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-08 10:29:08,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-08 10:29:08,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-08 10:29:08,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-08 10:29:08,276 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-08 10:29:08,276 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-08 10:29:08,276 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-08 10:29:08,277 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-08 10:29:08,277 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-08 10:29:08,278 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-08 10:29:08,279 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-08 10:29:08,279 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-08 10:29:08,280 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-08 10:29:08,280 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-08 10:29:08,281 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-08 10:29:08,281 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-08 10:29:08,282 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-08 10:29:08,282 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-08 10:29:08,283 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-08 10:29:08,284 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-08 10:29:08,284 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-08 10:29:08,284 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-08 10:29:08,285 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-08 10:29:08,285 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-08 10:29:08,286 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-08 10:29:08,287 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-08 10:29:08,287 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-08 10:29:08,288 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-08 10:29:08,288 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-08 10:29:08,288 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-08 10:29:08,289 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-08 10:29:08,289 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-08 10:29:08,290 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-08 10:29:08,291 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-08 10:29:08,292 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-08 10:29:08,292 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-08 10:29:08,292 INFO L290 TraceCheckUtils]: 37: Hoare triple {8154#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {8121#false} is VALID [2022-04-08 10:29:08,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-08 10:29:08,293 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-08 10:29:08,293 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:08,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1093592776] [2022-04-08 10:29:08,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1093592776] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:08,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673053091] [2022-04-08 10:29:08,293 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:08,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:08,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:08,295 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-08 10:29:08,315 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-08 10:29:08,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:08,353 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:08,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 10:29:08,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:08,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:08,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {8120#true} call ULTIMATE.init(); {8120#true} is VALID [2022-04-08 10:29:08,945 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-08 10:29:08,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-08 10:29:08,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-08 10:29:08,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-08 10:29:08,946 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-08 10:29:08,946 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-08 10:29:08,946 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-08 10:29:08,946 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-08 10:29:08,947 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-08 10:29:08,947 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-08 10:29:08,948 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-08 10:29:08,948 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-08 10:29:08,949 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-08 10:29:08,949 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-08 10:29:08,950 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-08 10:29:08,950 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-08 10:29:08,951 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-08 10:29:08,951 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-08 10:29:08,952 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-08 10:29:08,952 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-08 10:29:08,952 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-08 10:29:08,953 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-08 10:29:08,953 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-08 10:29:08,954 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-08 10:29:08,954 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-08 10:29:08,955 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-08 10:29:08,955 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-08 10:29:08,956 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-08 10:29:08,956 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-08 10:29:08,957 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-08 10:29:08,957 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-08 10:29:08,958 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-08 10:29:08,959 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-08 10:29:08,959 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-08 10:29:08,960 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-08 10:29:08,960 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:08,961 INFO L290 TraceCheckUtils]: 37: Hoare triple {8284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8121#false} is VALID [2022-04-08 10:29:08,961 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-08 10:29:08,961 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-08 10:29:08,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:09,422 INFO L290 TraceCheckUtils]: 38: Hoare triple {8121#false} assume !false; {8121#false} is VALID [2022-04-08 10:29:09,422 INFO L290 TraceCheckUtils]: 37: Hoare triple {8284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8121#false} is VALID [2022-04-08 10:29:09,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:09,423 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-08 10:29:09,424 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-08 10:29:09,425 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-08 10:29:09,425 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-08 10:29:09,425 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-08 10:29:09,426 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-08 10:29:09,426 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-08 10:29:09,426 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-08 10:29:09,427 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-08 10:29:09,427 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-08 10:29:09,428 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-08 10:29:09,428 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-08 10:29:09,428 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-08 10:29:09,429 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-08 10:29:09,429 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-08 10:29:09,429 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-08 10:29:09,430 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-08 10:29:09,430 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-08 10:29:09,431 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-08 10:29:09,431 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-08 10:29:09,431 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-08 10:29:09,432 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-08 10:29:09,432 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-08 10:29:09,433 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-08 10:29:09,433 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-08 10:29:09,433 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-08 10:29:09,434 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-08 10:29:09,434 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-08 10:29:09,434 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-08 10:29:09,434 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-08 10:29:09,434 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-08 10:29:09,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {8120#true} call #t~ret10 := main(); {8120#true} is VALID [2022-04-08 10:29:09,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8120#true} {8120#true} #117#return; {8120#true} is VALID [2022-04-08 10:29:09,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {8120#true} assume true; {8120#true} is VALID [2022-04-08 10:29:09,435 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-08 10:29:09,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {8120#true} call ULTIMATE.init(); {8120#true} is VALID [2022-04-08 10:29:09,435 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-08 10:29:09,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673053091] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:09,435 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:09,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 27 [2022-04-08 10:29:09,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:09,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1347435064] [2022-04-08 10:29:09,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1347435064] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:09,436 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:09,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:29:09,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [412239138] [2022-04-08 10:29:09,436 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:09,436 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-08 10:29:09,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:09,436 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-08 10:29:09,462 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-08 10:29:09,462 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:29:09,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:09,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:29:09,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=641, Unknown=0, NotChecked=0, Total=702 [2022-04-08 10:29:09,463 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-08 10:29:11,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:11,739 INFO L93 Difference]: Finished difference Result 137 states and 170 transitions. [2022-04-08 10:29:11,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:29:11,740 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-08 10:29:11,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:11,740 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-08 10:29:11,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-08 10:29:11,741 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-08 10:29:11,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-08 10:29:11,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2022-04-08 10:29:11,838 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-08 10:29:11,840 INFO L225 Difference]: With dead ends: 137 [2022-04-08 10:29:11,840 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 10:29:11,841 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 72 SyntacticMatches, 5 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=166, Invalid=1904, Unknown=0, NotChecked=0, Total=2070 [2022-04-08 10:29:11,842 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 85 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 935 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 10:29:11,842 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [88 Valid, 128 Invalid, 967 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 935 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 10:29:11,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 10:29:12,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 121. [2022-04-08 10:29:12,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:12,291 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-08 10:29:12,291 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-08 10:29:12,291 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-08 10:29:12,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:12,294 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-08 10:29:12,294 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-08 10:29:12,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:12,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:12,295 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-08 10:29:12,295 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-08 10:29:12,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:12,298 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-08 10:29:12,298 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-08 10:29:12,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:12,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:12,299 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:12,299 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:12,299 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-08 10:29:12,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 149 transitions. [2022-04-08 10:29:12,302 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 149 transitions. Word has length 39 [2022-04-08 10:29:12,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:12,302 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 149 transitions. [2022-04-08 10:29:12,302 INFO L479 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-08 10:29:12,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 149 transitions. [2022-04-08 10:29:12,499 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-08 10:29:12,500 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-08 10:29:12,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:29:12,500 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:12,501 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:29:12,519 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 10:29:12,715 WARN L460 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-08 10:29:12,716 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:12,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:12,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1844910907, now seen corresponding path program 15 times [2022-04-08 10:29:12,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:12,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [318777154] [2022-04-08 10:29:12,718 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:12,718 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:12,718 INFO L85 PathProgramCache]: Analyzing trace with hash 1844910907, now seen corresponding path program 16 times [2022-04-08 10:29:12,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:12,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [437924849] [2022-04-08 10:29:12,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:12,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:12,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:12,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:12,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:12,755 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-08 10:29:12,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-08 10:29:12,755 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-08 10:29:12,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:12,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:12,821 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-08 10:29:12,822 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-08 10:29:12,823 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-08 10:29:12,823 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-08 10:29:12,824 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-08 10:29:12,824 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-08 10:29:12,825 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-08 10:29:12,825 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-08 10:29:12,825 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-08 10:29:12,826 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-08 10:29:12,826 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-08 10:29:12,826 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-08 10:29:12,827 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-08 10:29:12,827 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:12,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:12,887 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-08 10:29:12,888 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-08 10:29:12,888 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-08 10:29:12,889 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-08 10:29:12,891 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-08 10:29:12,891 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-08 10:29:12,892 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-08 10:29:12,892 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-08 10:29:12,893 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-08 10:29:12,893 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-08 10:29:12,894 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-08 10:29:12,895 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-08 10:29:12,895 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-08 10:29:12,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-08 10:29:12,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-08 10:29:12,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-08 10:29:12,895 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-08 10:29:12,895 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-08 10:29:12,895 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-08 10:29:12,896 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-08 10:29:12,897 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-08 10:29:12,897 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-08 10:29:12,898 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-08 10:29:12,898 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-08 10:29:12,899 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-08 10:29:12,899 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-08 10:29:12,899 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-08 10:29:12,900 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-08 10:29:12,900 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-08 10:29:12,901 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-08 10:29:12,901 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-08 10:29:12,902 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-08 10:29:12,902 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-08 10:29:12,903 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-08 10:29:12,903 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-08 10:29:12,903 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-08 10:29:12,904 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-08 10:29:12,904 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-08 10:29:12,905 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-08 10:29:12,905 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-08 10:29:12,905 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-08 10:29:12,905 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-08 10:29:12,906 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-08 10:29:12,906 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-08 10:29:12,907 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-08 10:29:12,907 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-08 10:29:12,907 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-08 10:29:12,907 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-08 10:29:12,907 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-08 10:29:12,907 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-08 10:29:12,907 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-08 10:29:12,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:12,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [437924849] [2022-04-08 10:29:12,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [437924849] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:12,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [768886655] [2022-04-08 10:29:12,907 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:29:12,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:12,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:12,908 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-08 10:29:12,909 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-08 10:29:12,949 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:29:12,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:12,950 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:29:12,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:12,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:13,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {9224#true} call ULTIMATE.init(); {9224#true} is VALID [2022-04-08 10:29:13,240 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-08 10:29:13,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-08 10:29:13,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-08 10:29:13,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-08 10:29:13,240 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-08 10:29:13,240 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-08 10:29:13,240 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-08 10:29:13,240 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-08 10:29:13,241 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-08 10:29:13,241 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-08 10:29:13,242 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-08 10:29:13,242 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-08 10:29:13,242 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-08 10:29:13,243 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-08 10:29:13,243 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-08 10:29:13,243 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-08 10:29:13,243 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-08 10:29:13,244 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-08 10:29:13,244 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-08 10:29:13,245 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-08 10:29:13,245 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-08 10:29:13,245 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-08 10:29:13,245 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-08 10:29:13,246 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-08 10:29:13,246 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-08 10:29:13,247 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-08 10:29:13,247 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-08 10:29:13,247 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-08 10:29:13,247 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-08 10:29:13,248 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-08 10:29:13,248 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-08 10:29:13,248 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-08 10:29:13,249 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-08 10:29:13,249 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-08 10:29:13,249 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-08 10:29:13,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-08 10:29:13,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-08 10:29:13,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-08 10:29:13,249 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-08 10:29:13,249 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:13,932 INFO L290 TraceCheckUtils]: 38: Hoare triple {9225#false} assume !false; {9225#false} is VALID [2022-04-08 10:29:13,932 INFO L290 TraceCheckUtils]: 37: Hoare triple {9225#false} assume 0 == ~cond; {9225#false} is VALID [2022-04-08 10:29:13,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {9225#false} ~cond := #in~cond; {9225#false} is VALID [2022-04-08 10:29:13,932 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-08 10:29:13,932 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-08 10:29:13,933 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-08 10:29:13,934 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-08 10:29:13,934 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-08 10:29:13,934 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-08 10:29:13,934 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-08 10:29:13,935 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-08 10:29:13,935 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-08 10:29:13,935 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-08 10:29:13,935 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-08 10:29:13,936 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-08 10:29:13,936 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-08 10:29:13,936 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-08 10:29:13,937 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-08 10:29:13,937 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-08 10:29:13,938 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-08 10:29:13,938 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-08 10:29:13,938 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-08 10:29:13,938 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-08 10:29:13,939 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-08 10:29:13,939 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-08 10:29:13,939 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-08 10:29:13,940 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-08 10:29:13,940 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-08 10:29:13,940 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-08 10:29:13,941 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-08 10:29:13,941 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-08 10:29:13,941 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-08 10:29:13,941 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-08 10:29:13,941 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-08 10:29:13,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {9224#true} call #t~ret10 := main(); {9224#true} is VALID [2022-04-08 10:29:13,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9224#true} {9224#true} #117#return; {9224#true} is VALID [2022-04-08 10:29:13,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {9224#true} assume true; {9224#true} is VALID [2022-04-08 10:29:13,942 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-08 10:29:13,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {9224#true} call ULTIMATE.init(); {9224#true} is VALID [2022-04-08 10:29:13,942 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-08 10:29:13,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [768886655] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:13,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:13,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-08 10:29:13,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:13,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [318777154] [2022-04-08 10:29:13,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [318777154] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:13,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:13,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:29:13,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311687168] [2022-04-08 10:29:13,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:13,943 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-08 10:29:13,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:13,943 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-08 10:29:13,967 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-08 10:29:13,967 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:29:13,967 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:13,968 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:29:13,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:29:13,968 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-08 10:29:15,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:15,071 INFO L93 Difference]: Finished difference Result 132 states and 159 transitions. [2022-04-08 10:29:15,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:29:15,072 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-08 10:29:15,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:15,072 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-08 10:29:15,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-08 10:29:15,073 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-08 10:29:15,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-08 10:29:15,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2022-04-08 10:29:15,129 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-08 10:29:15,131 INFO L225 Difference]: With dead ends: 132 [2022-04-08 10:29:15,131 INFO L226 Difference]: Without dead ends: 120 [2022-04-08 10:29:15,132 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=123, Invalid=689, Unknown=0, NotChecked=0, Total=812 [2022-04-08 10:29:15,132 INFO L913 BasicCegarLoop]: 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-08 10:29:15,133 INFO L914 BasicCegarLoop]: 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-08 10:29:15,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-08 10:29:15,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 118. [2022-04-08 10:29:15,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:15,569 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-08 10:29:15,569 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-08 10:29:15,569 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-08 10:29:15,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:15,571 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-08 10:29:15,571 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-08 10:29:15,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:15,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:15,572 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-08 10:29:15,573 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-08 10:29:15,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:15,575 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-08 10:29:15,575 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-08 10:29:15,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:15,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:15,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:15,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:15,576 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-08 10:29:15,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 142 transitions. [2022-04-08 10:29:15,578 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 142 transitions. Word has length 39 [2022-04-08 10:29:15,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:15,578 INFO L478 AbstractCegarLoop]: Abstraction has 118 states and 142 transitions. [2022-04-08 10:29:15,579 INFO L479 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-08 10:29:15,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 142 transitions. [2022-04-08 10:29:15,757 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-08 10:29:15,757 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 142 transitions. [2022-04-08 10:29:15,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 10:29:15,758 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:15,758 INFO L499 BasicCegarLoop]: 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-08 10:29:15,788 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-08 10:29:15,980 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 10:29:15,980 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:15,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:15,980 INFO L85 PathProgramCache]: Analyzing trace with hash 172610767, now seen corresponding path program 17 times [2022-04-08 10:29:15,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:15,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [378891335] [2022-04-08 10:29:15,983 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:15,983 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:15,983 INFO L85 PathProgramCache]: Analyzing trace with hash 172610767, now seen corresponding path program 18 times [2022-04-08 10:29:15,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:15,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1722531867] [2022-04-08 10:29:15,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:15,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:16,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:16,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:16,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:16,020 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-08 10:29:16,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-08 10:29:16,020 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-08 10:29:16,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:16,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:16,074 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-08 10:29:16,075 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-08 10:29:16,075 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-08 10:29:16,076 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-08 10:29:16,077 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-08 10:29:16,077 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-08 10:29:16,078 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-08 10:29:16,078 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-08 10:29:16,078 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-08 10:29:16,079 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-08 10:29:16,079 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-08 10:29:16,080 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-08 10:29:16,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 10:29:16,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:16,170 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-08 10:29:16,171 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-08 10:29:16,171 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-08 10:29:16,172 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-08 10:29:16,172 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-08 10:29:16,173 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-08 10:29:16,173 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-08 10:29:16,174 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-08 10:29:16,174 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-08 10:29:16,174 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-08 10:29:16,175 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-08 10:29:16,175 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-08 10:29:16,176 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-08 10:29:16,177 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-08 10:29:16,177 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-08 10:29:16,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-08 10:29:16,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-08 10:29:16,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-08 10:29:16,177 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-08 10:29:16,177 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-08 10:29:16,177 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-08 10:29:16,178 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-08 10:29:16,178 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-08 10:29:16,179 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-08 10:29:16,179 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-08 10:29:16,180 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-08 10:29:16,180 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-08 10:29:16,181 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-08 10:29:16,181 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-08 10:29:16,182 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-08 10:29:16,182 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-08 10:29:16,183 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-08 10:29:16,184 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-08 10:29:16,184 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-08 10:29:16,184 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-08 10:29:16,185 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-08 10:29:16,185 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-08 10:29:16,186 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-08 10:29:16,186 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-08 10:29:16,187 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-08 10:29:16,188 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-08 10:29:16,188 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-08 10:29:16,188 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-08 10:29:16,189 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-08 10:29:16,189 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-08 10:29:16,189 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-08 10:29:16,190 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-08 10:29:16,191 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-08 10:29:16,191 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-08 10:29:16,191 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-08 10:29:16,191 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-08 10:29:16,191 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-08 10:29:16,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-08 10:29:16,191 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-08 10:29:16,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:16,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1722531867] [2022-04-08 10:29:16,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1722531867] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:16,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269056671] [2022-04-08 10:29:16,193 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:29:16,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:16,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:16,195 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-08 10:29:16,241 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-08 10:29:16,268 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:29:16,268 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:16,269 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:29:16,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:16,282 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:17,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {10261#true} call ULTIMATE.init(); {10261#true} is VALID [2022-04-08 10:29:17,141 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-08 10:29:17,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-08 10:29:17,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-08 10:29:17,142 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-08 10:29:17,142 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-08 10:29:17,142 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-08 10:29:17,142 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-08 10:29:17,142 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-08 10:29:17,143 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-08 10:29:17,143 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-08 10:29:17,144 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-08 10:29:17,144 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-08 10:29:17,145 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-08 10:29:17,145 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-08 10:29:17,145 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-08 10:29:17,146 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-08 10:29:17,146 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-08 10:29:17,146 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-08 10:29:17,147 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-08 10:29:17,147 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-08 10:29:17,147 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-08 10:29:17,148 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-08 10:29:17,148 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-08 10:29:17,149 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-08 10:29:17,149 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-08 10:29:17,150 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-08 10:29:17,150 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-08 10:29:17,150 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-08 10:29:17,151 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-08 10:29:17,151 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-08 10:29:17,151 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-08 10:29:17,151 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-08 10:29:17,152 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-08 10:29:17,153 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-08 10:29:17,153 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-08 10:29:17,153 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-08 10:29:17,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-08 10:29:17,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-08 10:29:17,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-08 10:29:17,153 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-08 10:29:17,153 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:18,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {10262#false} assume !false; {10262#false} is VALID [2022-04-08 10:29:18,233 INFO L290 TraceCheckUtils]: 38: Hoare triple {10262#false} assume 0 == ~cond; {10262#false} is VALID [2022-04-08 10:29:18,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {10262#false} ~cond := #in~cond; {10262#false} is VALID [2022-04-08 10:29:18,234 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-08 10:29:18,234 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-08 10:29:18,235 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-08 10:29:18,235 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-08 10:29:18,236 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-08 10:29:18,236 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-08 10:29:18,236 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-08 10:29:18,237 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-08 10:29:18,237 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-08 10:29:18,238 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-08 10:29:18,238 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-08 10:29:18,239 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-08 10:29:18,239 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-08 10:29:18,240 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-08 10:29:18,240 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-08 10:29:18,240 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-08 10:29:18,241 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-08 10:29:18,241 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-08 10:29:18,242 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-08 10:29:18,242 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-08 10:29:18,242 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-08 10:29:18,243 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-08 10:29:18,243 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-08 10:29:18,243 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-08 10:29:18,244 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-08 10:29:18,244 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-08 10:29:18,245 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-08 10:29:18,245 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-08 10:29:18,246 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-08 10:29:18,246 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-08 10:29:18,246 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-08 10:29:18,246 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-08 10:29:18,246 INFO L272 TraceCheckUtils]: 4: Hoare triple {10261#true} call #t~ret10 := main(); {10261#true} is VALID [2022-04-08 10:29:18,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10261#true} {10261#true} #117#return; {10261#true} is VALID [2022-04-08 10:29:18,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {10261#true} assume true; {10261#true} is VALID [2022-04-08 10:29:18,246 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-08 10:29:18,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {10261#true} call ULTIMATE.init(); {10261#true} is VALID [2022-04-08 10:29:18,246 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-08 10:29:18,246 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [269056671] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:18,246 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:18,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-08 10:29:18,247 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:18,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [378891335] [2022-04-08 10:29:18,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [378891335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:18,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:18,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:29:18,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [383804699] [2022-04-08 10:29:18,247 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:18,248 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-08 10:29:18,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:18,248 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-08 10:29:18,274 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-08 10:29:18,274 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:29:18,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:18,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:29:18,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-08 10:29:18,275 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-08 10:29:19,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:19,829 INFO L93 Difference]: Finished difference Result 136 states and 165 transitions. [2022-04-08 10:29:19,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:29:19,829 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-08 10:29:19,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:19,830 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-08 10:29:19,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2022-04-08 10:29:19,831 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-08 10:29:19,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2022-04-08 10:29:19,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 82 transitions. [2022-04-08 10:29:19,910 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-08 10:29:19,912 INFO L225 Difference]: With dead ends: 136 [2022-04-08 10:29:19,912 INFO L226 Difference]: Without dead ends: 122 [2022-04-08 10:29:19,913 INFO L912 BasicCegarLoop]: 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-08 10:29:19,913 INFO L913 BasicCegarLoop]: 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-08 10:29:19,913 INFO L914 BasicCegarLoop]: 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-08 10:29:19,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-08 10:29:20,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 113. [2022-04-08 10:29:20,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:20,413 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-08 10:29:20,413 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-08 10:29:20,414 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-08 10:29:20,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:20,416 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-08 10:29:20,416 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-08 10:29:20,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:20,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:20,417 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-08 10:29:20,417 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-08 10:29:20,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:20,420 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-08 10:29:20,420 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-08 10:29:20,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:20,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:20,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:20,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:20,422 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-08 10:29:20,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 138 transitions. [2022-04-08 10:29:20,424 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 138 transitions. Word has length 40 [2022-04-08 10:29:20,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:20,424 INFO L478 AbstractCegarLoop]: Abstraction has 113 states and 138 transitions. [2022-04-08 10:29:20,424 INFO L479 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-08 10:29:20,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 113 states and 138 transitions. [2022-04-08 10:29:20,638 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-08 10:29:20,638 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 138 transitions. [2022-04-08 10:29:20,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 10:29:20,639 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:20,639 INFO L499 BasicCegarLoop]: 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-08 10:29:20,665 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 10:29:20,840 WARN L460 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-08 10:29:20,840 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:20,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:20,840 INFO L85 PathProgramCache]: Analyzing trace with hash -306897140, now seen corresponding path program 19 times [2022-04-08 10:29:20,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:20,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [473046820] [2022-04-08 10:29:20,843 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:20,843 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:20,843 INFO L85 PathProgramCache]: Analyzing trace with hash -306897140, now seen corresponding path program 20 times [2022-04-08 10:29:20,843 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:20,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [723781560] [2022-04-08 10:29:20,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:20,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:20,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:20,892 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:20,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:20,896 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-08 10:29:20,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-08 10:29:20,896 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-08 10:29:20,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:20,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:20,981 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-08 10:29:20,982 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-08 10:29:20,982 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-08 10:29:20,983 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-08 10:29:20,984 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-08 10:29:20,984 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-08 10:29:20,985 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-08 10:29:20,985 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-08 10:29:20,986 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-08 10:29:20,986 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-08 10:29:20,987 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-08 10:29:20,987 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-08 10:29:20,988 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-08 10:29:20,988 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:20,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:21,061 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-08 10:29:21,062 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-08 10:29:21,062 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-08 10:29:21,063 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-08 10:29:21,064 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-08 10:29:21,064 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-08 10:29:21,065 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-08 10:29:21,065 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-08 10:29:21,065 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-08 10:29:21,066 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-08 10:29:21,066 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-08 10:29:21,067 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-08 10:29:21,068 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-08 10:29:21,068 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-08 10:29:21,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-08 10:29:21,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-08 10:29:21,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-08 10:29:21,068 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-08 10:29:21,068 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-08 10:29:21,068 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-08 10:29:21,069 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-08 10:29:21,069 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-08 10:29:21,070 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-08 10:29:21,070 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-08 10:29:21,071 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-08 10:29:21,072 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-08 10:29:21,072 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-08 10:29:21,072 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-08 10:29:21,073 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-08 10:29:21,073 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-08 10:29:21,074 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-08 10:29:21,074 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-08 10:29:21,075 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-08 10:29:21,075 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-08 10:29:21,075 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-08 10:29:21,076 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-08 10:29:21,076 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-08 10:29:21,077 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-08 10:29:21,077 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-08 10:29:21,078 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-08 10:29:21,078 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-08 10:29:21,078 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-08 10:29:21,079 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-08 10:29:21,079 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-08 10:29:21,079 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-08 10:29:21,080 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-08 10:29:21,081 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-08 10:29:21,081 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-08 10:29:21,081 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-08 10:29:21,081 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-08 10:29:21,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-08 10:29:21,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-08 10:29:21,081 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-08 10:29:21,081 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:21,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [723781560] [2022-04-08 10:29:21,082 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [723781560] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:21,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1337740126] [2022-04-08 10:29:21,082 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:21,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:21,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:21,083 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-08 10:29:21,100 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-08 10:29:21,167 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:21,167 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:21,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:29:21,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:21,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:21,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {11313#true} call ULTIMATE.init(); {11313#true} is VALID [2022-04-08 10:29:21,946 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-08 10:29:21,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-08 10:29:21,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-08 10:29:21,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-08 10:29:21,946 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-08 10:29:21,946 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-08 10:29:21,946 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-08 10:29:21,947 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-08 10:29:21,947 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-08 10:29:21,948 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-08 10:29:21,949 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-08 10:29:21,949 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-08 10:29:21,950 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-08 10:29:21,951 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-08 10:29:21,951 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-08 10:29:21,951 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-08 10:29:21,952 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-08 10:29:21,952 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-08 10:29:21,953 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-08 10:29:21,954 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-08 10:29:21,954 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-08 10:29:21,954 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-08 10:29:21,955 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-08 10:29:21,955 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-08 10:29:21,955 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-08 10:29:21,956 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-08 10:29:21,956 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-08 10:29:21,957 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-08 10:29:21,957 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-08 10:29:21,957 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-08 10:29:21,958 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-08 10:29:21,958 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-08 10:29:21,958 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-08 10:29:21,959 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-08 10:29:21,959 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-08 10:29:21,959 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-08 10:29:21,959 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-08 10:29:21,959 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-08 10:29:21,959 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-08 10:29:21,959 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-08 10:29:21,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:22,961 INFO L290 TraceCheckUtils]: 39: Hoare triple {11314#false} assume !false; {11314#false} is VALID [2022-04-08 10:29:22,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {11314#false} assume 0 == ~cond; {11314#false} is VALID [2022-04-08 10:29:22,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {11314#false} ~cond := #in~cond; {11314#false} is VALID [2022-04-08 10:29:22,962 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-08 10:29:22,962 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-08 10:29:22,963 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-08 10:29:22,963 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-08 10:29:22,963 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-08 10:29:22,964 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-08 10:29:22,964 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-08 10:29:22,964 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-08 10:29:22,964 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-08 10:29:22,965 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-08 10:29:22,965 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-08 10:29:22,966 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-08 10:29:22,966 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-08 10:29:22,967 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-08 10:29:22,967 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-08 10:29:22,967 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-08 10:29:22,968 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-08 10:29:22,968 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-08 10:29:22,968 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-08 10:29:22,969 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-08 10:29:22,969 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-08 10:29:22,969 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-08 10:29:22,970 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-08 10:29:22,970 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-08 10:29:22,971 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-08 10:29:22,971 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-08 10:29:22,971 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-08 10:29:22,972 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-08 10:29:22,972 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-08 10:29:22,972 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-08 10:29:22,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-08 10:29:22,973 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-08 10:29:22,973 INFO L272 TraceCheckUtils]: 4: Hoare triple {11313#true} call #t~ret10 := main(); {11313#true} is VALID [2022-04-08 10:29:22,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11313#true} {11313#true} #117#return; {11313#true} is VALID [2022-04-08 10:29:22,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {11313#true} assume true; {11313#true} is VALID [2022-04-08 10:29:22,973 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-08 10:29:22,973 INFO L272 TraceCheckUtils]: 0: Hoare triple {11313#true} call ULTIMATE.init(); {11313#true} is VALID [2022-04-08 10:29:22,973 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-08 10:29:22,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1337740126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:22,973 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:22,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-08 10:29:22,973 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:22,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [473046820] [2022-04-08 10:29:22,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [473046820] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:22,974 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:22,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:29:22,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452788596] [2022-04-08 10:29:22,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:22,974 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-08 10:29:22,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:22,974 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-08 10:29:23,003 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-08 10:29:23,004 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:29:23,004 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:23,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:29:23,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-08 10:29:23,004 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-08 10:29:24,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:24,458 INFO L93 Difference]: Finished difference Result 128 states and 153 transitions. [2022-04-08 10:29:24,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:29:24,458 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-08 10:29:24,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:24,458 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-08 10:29:24,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-08 10:29:24,459 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-08 10:29:24,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-08 10:29:24,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 81 transitions. [2022-04-08 10:29:24,552 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-08 10:29:24,554 INFO L225 Difference]: With dead ends: 128 [2022-04-08 10:29:24,554 INFO L226 Difference]: Without dead ends: 116 [2022-04-08 10:29:24,555 INFO L912 BasicCegarLoop]: 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-08 10:29:24,555 INFO L913 BasicCegarLoop]: 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-08 10:29:24,556 INFO L914 BasicCegarLoop]: 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-08 10:29:24,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-08 10:29:25,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 114. [2022-04-08 10:29:25,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:25,095 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-08 10:29:25,095 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-08 10:29:25,095 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-08 10:29:25,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:25,098 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-08 10:29:25,098 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-08 10:29:25,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:25,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:25,099 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-08 10:29:25,099 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-08 10:29:25,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:25,101 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-08 10:29:25,101 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-08 10:29:25,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:25,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:25,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:25,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:25,102 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-08 10:29:25,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 137 transitions. [2022-04-08 10:29:25,105 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 137 transitions. Word has length 40 [2022-04-08 10:29:25,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:25,105 INFO L478 AbstractCegarLoop]: Abstraction has 114 states and 137 transitions. [2022-04-08 10:29:25,105 INFO L479 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-08 10:29:25,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 114 states and 137 transitions. [2022-04-08 10:29:25,292 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-08 10:29:25,292 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 137 transitions. [2022-04-08 10:29:25,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 10:29:25,294 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:25,294 INFO L499 BasicCegarLoop]: 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-08 10:29:25,313 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-08 10:29:25,507 WARN L460 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-08 10:29:25,507 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:25,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:25,508 INFO L85 PathProgramCache]: Analyzing trace with hash -1295907854, now seen corresponding path program 21 times [2022-04-08 10:29:25,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:25,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [242940863] [2022-04-08 10:29:25,510 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:25,510 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:25,510 INFO L85 PathProgramCache]: Analyzing trace with hash -1295907854, now seen corresponding path program 22 times [2022-04-08 10:29:25,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:25,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875831659] [2022-04-08 10:29:25,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:25,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:25,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:25,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:25,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:25,545 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-08 10:29:25,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,546 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-08 10:29:25,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:25,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:25,581 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-08 10:29:25,581 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-08 10:29:25,582 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-08 10:29:25,582 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-08 10:29:25,582 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-08 10:29:25,583 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-08 10:29:25,583 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-08 10:29:25,584 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-08 10:29:25,584 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-08 10:29:25,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-08 10:29:25,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-08 10:29:25,584 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-08 10:29:25,585 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 10:29:25,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:25,596 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-08 10:29:25,596 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-08 10:29:25,597 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-08 10:29:25,597 INFO L290 TraceCheckUtils]: 3: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-08 10:29:25,597 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-08 10:29:25,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-08 10:29:25,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-08 10:29:25,597 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-08 10:29:25,597 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-08 10:29:25,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-08 10:29:25,597 INFO L290 TraceCheckUtils]: 10: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-08 10:29:25,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,597 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-08 10:29:25,598 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-08 10:29:25,598 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-08 10:29:25,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-08 10:29:25,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-08 10:29:25,598 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-08 10:29:25,598 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-08 10:29:25,598 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-08 10:29:25,599 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-08 10:29:25,599 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-08 10:29:25,600 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-08 10:29:25,600 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-08 10:29:25,600 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-08 10:29:25,601 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-08 10:29:25,601 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-08 10:29:25,602 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-08 10:29:25,602 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-08 10:29:25,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-08 10:29:25,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-08 10:29:25,602 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-08 10:29:25,602 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-08 10:29:25,602 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-08 10:29:25,603 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-08 10:29:25,603 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-08 10:29:25,603 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-08 10:29:25,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-08 10:29:25,603 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-08 10:29:25,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-08 10:29:25,603 INFO L290 TraceCheckUtils]: 28: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-08 10:29:25,603 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-08 10:29:25,603 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-08 10:29:25,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-08 10:29:25,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-08 10:29:25,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,604 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-08 10:29:25,604 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-08 10:29:25,604 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-08 10:29:25,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-08 10:29:25,604 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-08 10:29:25,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-08 10:29:25,604 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-08 10:29:25,604 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:25,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875831659] [2022-04-08 10:29:25,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1875831659] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:25,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1409588451] [2022-04-08 10:29:25,605 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:29:25,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:25,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:25,608 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-08 10:29:25,614 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-08 10:29:25,659 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:29:25,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:25,660 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 10:29:25,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:25,670 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:25,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {12339#true} call ULTIMATE.init(); {12339#true} is VALID [2022-04-08 10:29:25,791 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-08 10:29:25,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-08 10:29:25,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-08 10:29:25,791 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-08 10:29:25,791 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-08 10:29:25,791 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-08 10:29:25,791 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-08 10:29:25,792 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-08 10:29:25,792 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-08 10:29:25,793 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-08 10:29:25,793 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-08 10:29:25,793 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-08 10:29:25,793 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-08 10:29:25,794 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-08 10:29:25,794 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-08 10:29:25,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-08 10:29:25,794 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-08 10:29:25,794 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-08 10:29:25,794 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-08 10:29:25,795 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-08 10:29:25,795 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-08 10:29:25,795 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-08 10:29:25,795 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-08 10:29:25,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {12340#false} assume !(~b~1 < ~n); {12340#false} is VALID [2022-04-08 10:29:25,795 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-08 10:29:25,795 INFO L290 TraceCheckUtils]: 27: Hoare triple {12340#false} assume !(~l~1 < ~m); {12340#false} is VALID [2022-04-08 10:29:25,795 INFO L290 TraceCheckUtils]: 28: Hoare triple {12340#false} ~x~1 := 0;~y~1 := 0; {12340#false} is VALID [2022-04-08 10:29:25,795 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-08 10:29:25,795 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-08 10:29:25,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {12340#false} assume !(~x~1 < ~i~1); {12340#false} is VALID [2022-04-08 10:29:25,795 INFO L290 TraceCheckUtils]: 32: Hoare triple {12340#false} #res := ~y~1; {12340#false} is VALID [2022-04-08 10:29:25,795 INFO L290 TraceCheckUtils]: 33: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-08 10:29:25,795 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12340#false} {12340#false} #113#return; {12340#false} is VALID [2022-04-08 10:29:25,795 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-08 10:29:25,795 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-08 10:29:25,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-08 10:29:25,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-08 10:29:25,796 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-08 10:29:25,796 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-08 10:29:25,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:25,922 INFO L290 TraceCheckUtils]: 39: Hoare triple {12340#false} assume !false; {12340#false} is VALID [2022-04-08 10:29:25,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {12340#false} assume 0 == ~cond; {12340#false} is VALID [2022-04-08 10:29:25,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {12340#false} ~cond := #in~cond; {12340#false} is VALID [2022-04-08 10:29:25,923 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-08 10:29:25,923 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-08 10:29:25,923 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12339#true} {12340#false} #113#return; {12340#false} is VALID [2022-04-08 10:29:25,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,923 INFO L290 TraceCheckUtils]: 32: Hoare triple {12339#true} #res := ~y~1; {12339#true} is VALID [2022-04-08 10:29:25,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {12339#true} assume !(~x~1 < ~i~1); {12339#true} is VALID [2022-04-08 10:29:25,923 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-08 10:29:25,923 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-08 10:29:25,924 INFO L290 TraceCheckUtils]: 28: Hoare triple {12339#true} ~x~1 := 0;~y~1 := 0; {12339#true} is VALID [2022-04-08 10:29:25,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {12339#true} assume !(~l~1 < ~m); {12339#true} is VALID [2022-04-08 10:29:25,924 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-08 10:29:25,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {12339#true} assume !(~b~1 < ~n); {12339#true} is VALID [2022-04-08 10:29:25,924 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-08 10:29:25,924 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-08 10:29:25,924 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-08 10:29:25,924 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-08 10:29:25,924 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-08 10:29:25,924 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12340#false} {12339#true} #111#return; {12340#false} is VALID [2022-04-08 10:29:25,924 INFO L290 TraceCheckUtils]: 18: Hoare triple {12340#false} assume true; {12340#false} is VALID [2022-04-08 10:29:25,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {12340#false} #res := ~y~0; {12340#false} is VALID [2022-04-08 10:29:25,935 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-08 10:29:25,936 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-08 10:29:25,936 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-08 10:29:25,936 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-08 10:29:25,937 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-08 10:29:25,937 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-08 10:29:25,937 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-08 10:29:25,938 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-08 10:29:25,938 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-08 10:29:25,938 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-08 10:29:25,938 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-08 10:29:25,938 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-08 10:29:25,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {12339#true} call #t~ret10 := main(); {12339#true} is VALID [2022-04-08 10:29:25,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12339#true} {12339#true} #117#return; {12339#true} is VALID [2022-04-08 10:29:25,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {12339#true} assume true; {12339#true} is VALID [2022-04-08 10:29:25,939 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-08 10:29:25,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {12339#true} call ULTIMATE.init(); {12339#true} is VALID [2022-04-08 10:29:25,939 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-08 10:29:25,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1409588451] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:25,939 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:25,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-08 10:29:25,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:25,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [242940863] [2022-04-08 10:29:25,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [242940863] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:25,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:25,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:29:25,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1210225917] [2022-04-08 10:29:25,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:25,940 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-08 10:29:25,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:25,940 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-08 10:29:25,964 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-08 10:29:25,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:29:25,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:25,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:29:25,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:29:25,965 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-08 10:29:26,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:26,703 INFO L93 Difference]: Finished difference Result 170 states and 199 transitions. [2022-04-08 10:29:26,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 10:29:26,704 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-08 10:29:26,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:26,704 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-08 10:29:26,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 10:29:26,705 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-08 10:29:26,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 10:29:26,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-08 10:29:26,760 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-08 10:29:26,762 INFO L225 Difference]: With dead ends: 170 [2022-04-08 10:29:26,762 INFO L226 Difference]: Without dead ends: 105 [2022-04-08 10:29:26,763 INFO L912 BasicCegarLoop]: 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-08 10:29:26,764 INFO L913 BasicCegarLoop]: 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-08 10:29:26,764 INFO L914 BasicCegarLoop]: 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-08 10:29:26,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-08 10:29:27,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 97. [2022-04-08 10:29:27,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:27,182 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-08 10:29:27,182 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-08 10:29:27,182 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-08 10:29:27,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:27,184 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-08 10:29:27,184 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-08 10:29:27,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:27,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:27,185 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-08 10:29:27,185 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-08 10:29:27,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:27,187 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-08 10:29:27,187 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-08 10:29:27,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:27,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:27,188 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:27,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:27,188 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-08 10:29:27,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 114 transitions. [2022-04-08 10:29:27,190 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 114 transitions. Word has length 40 [2022-04-08 10:29:27,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:27,190 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 114 transitions. [2022-04-08 10:29:27,190 INFO L479 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-08 10:29:27,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 114 transitions. [2022-04-08 10:29:27,342 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-08 10:29:27,342 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 114 transitions. [2022-04-08 10:29:27,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 10:29:27,343 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:27,343 INFO L499 BasicCegarLoop]: 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-08 10:29:27,359 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-08 10:29:27,548 WARN L460 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-08 10:29:27,548 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:27,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:27,548 INFO L85 PathProgramCache]: Analyzing trace with hash 1335621997, now seen corresponding path program 23 times [2022-04-08 10:29:27,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:27,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [179863380] [2022-04-08 10:29:27,550 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:27,551 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:27,551 INFO L85 PathProgramCache]: Analyzing trace with hash 1335621997, now seen corresponding path program 24 times [2022-04-08 10:29:27,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:27,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146077217] [2022-04-08 10:29:27,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:27,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:27,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:27,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:27,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:27,588 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-08 10:29:27,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,588 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-08 10:29:27,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:27,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:27,594 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-08 10:29:27,594 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-08 10:29:27,594 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-08 10:29:27,594 INFO L290 TraceCheckUtils]: 3: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-08 10:29:27,595 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-08 10:29:27,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-08 10:29:27,595 INFO L290 TraceCheckUtils]: 6: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-08 10:29:27,595 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-08 10:29:27,595 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-08 10:29:27,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-08 10:29:27,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-08 10:29:27,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,595 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-08 10:29:27,595 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:27,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:27,633 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-08 10:29:27,634 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-08 10:29:27,635 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-08 10:29:27,635 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-08 10:29:27,635 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-08 10:29:27,635 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-08 10:29:27,636 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-08 10:29:27,636 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-08 10:29:27,637 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-08 10:29:27,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-08 10:29:27,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-08 10:29:27,637 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-08 10:29:27,637 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-08 10:29:27,638 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-08 10:29:27,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-08 10:29:27,638 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-08 10:29:27,638 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-08 10:29:27,638 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-08 10:29:27,638 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-08 10:29:27,638 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-08 10:29:27,638 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-08 10:29:27,638 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-08 10:29:27,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-08 10:29:27,638 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-08 10:29:27,639 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-08 10:29:27,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-08 10:29:27,639 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-08 10:29:27,639 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-08 10:29:27,639 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-08 10:29:27,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-08 10:29:27,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,639 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-08 10:29:27,639 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-08 10:29:27,639 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-08 10:29:27,640 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-08 10:29:27,640 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-08 10:29:27,641 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-08 10:29:27,641 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-08 10:29:27,641 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-08 10:29:27,641 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-08 10:29:27,642 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-08 10:29:27,642 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-08 10:29:27,643 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-08 10:29:27,643 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-08 10:29:27,643 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-08 10:29:27,643 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-08 10:29:27,643 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-08 10:29:27,643 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-08 10:29:27,643 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-08 10:29:27,643 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-08 10:29:27,643 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-08 10:29:27,644 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-08 10:29:27,644 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:27,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146077217] [2022-04-08 10:29:27,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1146077217] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:27,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1734596942] [2022-04-08 10:29:27,644 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:29:27,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:27,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:27,645 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-08 10:29:27,670 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-08 10:29:27,706 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-08 10:29:27,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:27,706 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 10:29:27,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:27,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:27,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {13372#true} call ULTIMATE.init(); {13372#true} is VALID [2022-04-08 10:29:27,839 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-08 10:29:27,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-08 10:29:27,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,840 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-08 10:29:27,840 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-08 10:29:27,840 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-08 10:29:27,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-08 10:29:27,840 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-08 10:29:27,840 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-08 10:29:27,841 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-08 10:29:27,841 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-08 10:29:27,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,841 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-08 10:29:27,841 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-08 10:29:27,841 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-08 10:29:27,845 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-08 10:29:27,845 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-08 10:29:27,846 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-08 10:29:27,846 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-08 10:29:27,846 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-08 10:29:27,847 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-08 10:29:27,847 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-08 10:29:27,847 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-08 10:29:27,848 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-08 10:29:27,848 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-08 10:29:27,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-08 10:29:27,848 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-08 10:29:27,848 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-08 10:29:27,848 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-08 10:29:27,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-08 10:29:27,848 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-08 10:29:27,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-08 10:29:27,848 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-08 10:29:27,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:27,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#false} assume !false; {13373#false} is VALID [2022-04-08 10:29:27,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#false} assume 0 == ~cond; {13373#false} is VALID [2022-04-08 10:29:27,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {13373#false} ~cond := #in~cond; {13373#false} is VALID [2022-04-08 10:29:27,965 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-08 10:29:27,965 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-08 10:29:27,965 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13373#false} {13372#true} #113#return; {13373#false} is VALID [2022-04-08 10:29:27,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {13373#false} assume true; {13373#false} is VALID [2022-04-08 10:29:27,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {13373#false} #res := ~y~1; {13373#false} is VALID [2022-04-08 10:29:27,966 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-08 10:29:27,967 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-08 10:29:27,967 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-08 10:29:27,967 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-08 10:29:27,968 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-08 10:29:27,968 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-08 10:29:27,968 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-08 10:29:27,969 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-08 10:29:27,969 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-08 10:29:27,969 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-08 10:29:27,969 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-08 10:29:27,969 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13372#true} {13372#true} #111#return; {13372#true} is VALID [2022-04-08 10:29:27,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {13372#true} #res := ~y~0; {13372#true} is VALID [2022-04-08 10:29:27,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {13372#true} assume !(~x~0 < ~i~0); {13372#true} is VALID [2022-04-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {13372#true} ~x~0 := 0;~y~0 := 0; {13372#true} is VALID [2022-04-08 10:29:27,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {13372#true} assume !(~l~0 < ~m); {13372#true} is VALID [2022-04-08 10:29:27,970 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-08 10:29:27,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {13372#true} assume !(~b~0 < ~n); {13372#true} is VALID [2022-04-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 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-08 10:29:27,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {13372#true} call #t~ret10 := main(); {13372#true} is VALID [2022-04-08 10:29:27,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13372#true} {13372#true} #117#return; {13372#true} is VALID [2022-04-08 10:29:27,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {13372#true} assume true; {13372#true} is VALID [2022-04-08 10:29:27,970 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-08 10:29:27,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {13372#true} call ULTIMATE.init(); {13372#true} is VALID [2022-04-08 10:29:27,971 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-08 10:29:27,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1734596942] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:27,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:27,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-08 10:29:27,971 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:27,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [179863380] [2022-04-08 10:29:27,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [179863380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:27,971 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:27,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:29:27,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1686320008] [2022-04-08 10:29:27,971 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:27,972 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-08 10:29:27,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:27,972 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-08 10:29:28,001 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-08 10:29:28,002 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:29:28,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:28,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:29:28,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:29:28,002 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-08 10:29:28,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:28,627 INFO L93 Difference]: Finished difference Result 115 states and 134 transitions. [2022-04-08 10:29:28,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 10:29:28,627 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-08 10:29:28,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:28,627 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-08 10:29:28,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-08 10:29:28,628 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-08 10:29:28,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-08 10:29:28,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 59 transitions. [2022-04-08 10:29:28,697 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-08 10:29:28,698 INFO L225 Difference]: With dead ends: 115 [2022-04-08 10:29:28,698 INFO L226 Difference]: Without dead ends: 100 [2022-04-08 10:29:28,699 INFO L912 BasicCegarLoop]: 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-08 10:29:28,699 INFO L913 BasicCegarLoop]: 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-08 10:29:28,700 INFO L914 BasicCegarLoop]: 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-08 10:29:28,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-08 10:29:29,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2022-04-08 10:29:29,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:29,117 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-08 10:29:29,117 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-08 10:29:29,117 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-08 10:29:29,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:29,119 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-08 10:29:29,119 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-08 10:29:29,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:29,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:29,120 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-08 10:29:29,120 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-08 10:29:29,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:29,121 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-08 10:29:29,121 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-08 10:29:29,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:29,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:29,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:29,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:29,122 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-08 10:29:29,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 117 transitions. [2022-04-08 10:29:29,124 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 117 transitions. Word has length 40 [2022-04-08 10:29:29,124 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:29,124 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 117 transitions. [2022-04-08 10:29:29,124 INFO L479 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-08 10:29:29,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 117 transitions. [2022-04-08 10:29:29,314 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-08 10:29:29,314 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-08 10:29:29,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 10:29:29,315 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:29,315 INFO L499 BasicCegarLoop]: 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-08 10:29:29,339 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-08 10:29:29,523 WARN L460 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-08 10:29:29,523 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:29,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:29,523 INFO L85 PathProgramCache]: Analyzing trace with hash -1943349171, now seen corresponding path program 25 times [2022-04-08 10:29:29,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:29,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1590341144] [2022-04-08 10:29:29,526 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:29,526 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:29,526 INFO L85 PathProgramCache]: Analyzing trace with hash -1943349171, now seen corresponding path program 26 times [2022-04-08 10:29:29,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:29,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [870255474] [2022-04-08 10:29:29,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:29,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:29,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:29,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:29,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:29,620 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-08 10:29:29,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-08 10:29:29,620 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-08 10:29:29,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:29,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:29,741 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-08 10:29:29,741 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-08 10:29:29,742 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-08 10:29:29,742 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-08 10:29:29,743 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-08 10:29:29,743 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-08 10:29:29,743 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-08 10:29:29,744 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-08 10:29:29,744 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-08 10:29:29,745 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-08 10:29:29,745 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-08 10:29:29,745 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-08 10:29:29,746 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-08 10:29:29,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:29,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:29,899 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-08 10:29:29,899 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-08 10:29:29,900 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-08 10:29:29,900 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-08 10:29:29,901 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-08 10:29:29,901 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-08 10:29:29,901 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-08 10:29:29,902 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-08 10:29:29,902 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-08 10:29:29,903 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-08 10:29:29,903 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-08 10:29:29,903 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-08 10:29:29,904 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-08 10:29:29,905 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-08 10:29:29,905 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-08 10:29:29,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-08 10:29:29,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-08 10:29:29,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-08 10:29:29,905 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-08 10:29:29,905 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-08 10:29:29,905 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-08 10:29:29,905 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-08 10:29:29,906 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-08 10:29:29,906 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-08 10:29:29,907 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-08 10:29:29,907 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-08 10:29:29,908 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-08 10:29:29,908 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-08 10:29:29,908 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-08 10:29:29,909 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-08 10:29:29,909 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-08 10:29:29,909 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-08 10:29:29,910 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-08 10:29:29,910 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-08 10:29:29,911 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-08 10:29:29,911 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-08 10:29:29,911 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-08 10:29:29,912 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-08 10:29:29,912 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-08 10:29:29,912 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-08 10:29:29,913 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-08 10:29:29,913 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-08 10:29:29,914 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-08 10:29:29,914 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-08 10:29:29,914 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-08 10:29:29,915 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-08 10:29:29,915 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-08 10:29:29,915 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-08 10:29:29,916 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-08 10:29:29,917 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-08 10:29:29,917 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-08 10:29:29,918 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-08 10:29:29,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {14327#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14292#false} is VALID [2022-04-08 10:29:29,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-08 10:29:29,920 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-08 10:29:29,920 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:29,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [870255474] [2022-04-08 10:29:29,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [870255474] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:29,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1950938877] [2022-04-08 10:29:29,920 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:29,920 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:29,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:29,921 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-08 10:29:29,921 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-08 10:29:29,976 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:29,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:29,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:29:29,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:29,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:30,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {14291#true} call ULTIMATE.init(); {14291#true} is VALID [2022-04-08 10:29:30,494 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-08 10:29:30,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-08 10:29:30,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-08 10:29:30,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-08 10:29:30,494 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-08 10:29:30,494 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-08 10:29:30,494 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-08 10:29:30,494 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-08 10:29:30,495 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-08 10:29:30,495 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-08 10:29:30,496 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-08 10:29:30,496 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-08 10:29:30,497 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-08 10:29:30,497 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-08 10:29:30,497 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-08 10:29:30,498 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-08 10:29:30,498 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-08 10:29:30,498 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-08 10:29:30,499 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-08 10:29:30,500 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-08 10:29:30,500 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-08 10:29:30,500 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-08 10:29:30,500 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-08 10:29:30,501 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-08 10:29:30,501 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-08 10:29:30,502 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-08 10:29:30,502 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-08 10:29:30,502 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-08 10:29:30,503 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-08 10:29:30,503 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-08 10:29:30,504 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-08 10:29:30,504 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-08 10:29:30,504 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-08 10:29:30,505 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-08 10:29:30,505 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-08 10:29:30,506 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-08 10:29:30,506 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-08 10:29:30,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:30,507 INFO L290 TraceCheckUtils]: 39: Hoare triple {14465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14292#false} is VALID [2022-04-08 10:29:30,507 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-08 10:29:30,507 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-08 10:29:30,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:30,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {14292#false} assume !false; {14292#false} is VALID [2022-04-08 10:29:30,921 INFO L290 TraceCheckUtils]: 39: Hoare triple {14465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14292#false} is VALID [2022-04-08 10:29:30,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {14461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:30,921 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-08 10:29:30,922 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-08 10:29:30,923 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-08 10:29:30,923 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-08 10:29:30,924 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-08 10:29:30,924 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-08 10:29:30,924 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-08 10:29:30,925 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-08 10:29:30,925 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-08 10:29:30,926 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-08 10:29:30,926 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-08 10:29:30,926 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-08 10:29:30,927 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-08 10:29:30,927 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-08 10:29:30,927 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-08 10:29:30,928 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-08 10:29:30,928 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-08 10:29:30,929 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-08 10:29:30,929 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-08 10:29:30,929 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-08 10:29:30,930 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-08 10:29:30,930 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-08 10:29:30,930 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-08 10:29:30,931 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-08 10:29:30,931 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-08 10:29:30,932 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-08 10:29:30,932 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-08 10:29:30,932 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-08 10:29:30,933 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-08 10:29:30,933 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-08 10:29:30,933 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-08 10:29:30,933 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-08 10:29:30,933 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-08 10:29:30,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {14291#true} call #t~ret10 := main(); {14291#true} is VALID [2022-04-08 10:29:30,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14291#true} {14291#true} #117#return; {14291#true} is VALID [2022-04-08 10:29:30,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {14291#true} assume true; {14291#true} is VALID [2022-04-08 10:29:30,934 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-08 10:29:30,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {14291#true} call ULTIMATE.init(); {14291#true} is VALID [2022-04-08 10:29:30,934 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-08 10:29:30,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1950938877] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:30,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:30,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 29 [2022-04-08 10:29:30,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:30,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1590341144] [2022-04-08 10:29:30,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1590341144] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:30,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:30,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:29:30,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [293729630] [2022-04-08 10:29:30,935 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:30,935 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-08 10:29:30,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:30,935 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-08 10:29:30,966 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-08 10:29:30,966 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:29:30,966 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:30,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:29:30,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=747, Unknown=0, NotChecked=0, Total=812 [2022-04-08 10:29:30,966 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-08 10:29:33,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:33,954 INFO L93 Difference]: Finished difference Result 140 states and 164 transitions. [2022-04-08 10:29:33,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:29:33,954 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-08 10:29:33,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:33,954 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-08 10:29:33,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-08 10:29:33,955 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-08 10:29:33,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-08 10:29:33,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 110 transitions. [2022-04-08 10:29:34,041 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-08 10:29:34,043 INFO L225 Difference]: With dead ends: 140 [2022-04-08 10:29:34,043 INFO L226 Difference]: Without dead ends: 134 [2022-04-08 10:29:34,044 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 76 SyntacticMatches, 5 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 343 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=178, Invalid=2272, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 10:29:34,044 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 105 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 1406 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:29:34,044 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [109 Valid, 151 Invalid, 1438 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1406 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 10:29:34,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-04-08 10:29:34,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 116. [2022-04-08 10:29:34,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:34,593 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-08 10:29:34,593 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-08 10:29:34,593 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-08 10:29:34,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:34,595 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-08 10:29:34,595 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-08 10:29:34,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:34,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:34,596 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-08 10:29:34,596 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-08 10:29:34,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:34,599 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-08 10:29:34,599 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-08 10:29:34,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:34,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:34,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:34,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:34,599 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-08 10:29:34,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 136 transitions. [2022-04-08 10:29:34,602 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 136 transitions. Word has length 41 [2022-04-08 10:29:34,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:34,602 INFO L478 AbstractCegarLoop]: Abstraction has 116 states and 136 transitions. [2022-04-08 10:29:34,602 INFO L479 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-08 10:29:34,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 136 transitions. [2022-04-08 10:29:34,834 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-08 10:29:34,834 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 136 transitions. [2022-04-08 10:29:34,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 10:29:34,835 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:34,835 INFO L499 BasicCegarLoop]: 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-08 10:29:34,861 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-08 10:29:35,036 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-08 10:29:35,036 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:35,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:35,036 INFO L85 PathProgramCache]: Analyzing trace with hash -196254195, now seen corresponding path program 27 times [2022-04-08 10:29:35,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:35,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1827760333] [2022-04-08 10:29:35,039 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:35,039 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:35,039 INFO L85 PathProgramCache]: Analyzing trace with hash -196254195, now seen corresponding path program 28 times [2022-04-08 10:29:35,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:35,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [111917394] [2022-04-08 10:29:35,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:35,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:35,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:35,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:35,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:35,140 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-08 10:29:35,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-08 10:29:35,140 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-08 10:29:35,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:35,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:35,234 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-08 10:29:35,234 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-08 10:29:35,234 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-08 10:29:35,235 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-08 10:29:35,235 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-08 10:29:35,236 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-08 10:29:35,236 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-08 10:29:35,237 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-08 10:29:35,237 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-08 10:29:35,237 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-08 10:29:35,238 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-08 10:29:35,238 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-08 10:29:35,239 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-08 10:29:35,239 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:35,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:35,358 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-08 10:29:35,359 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-08 10:29:35,359 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-08 10:29:35,359 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-08 10:29:35,360 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-08 10:29:35,360 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-08 10:29:35,361 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-08 10:29:35,361 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-08 10:29:35,362 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-08 10:29:35,362 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-08 10:29:35,362 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-08 10:29:35,363 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-08 10:29:35,364 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-08 10:29:35,364 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-08 10:29:35,364 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-08 10:29:35,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-08 10:29:35,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-08 10:29:35,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-08 10:29:35,364 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-08 10:29:35,364 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-08 10:29:35,365 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-08 10:29:35,365 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-08 10:29:35,365 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-08 10:29:35,366 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-08 10:29:35,366 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-08 10:29:35,366 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-08 10:29:35,367 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-08 10:29:35,367 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-08 10:29:35,368 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-08 10:29:35,368 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-08 10:29:35,368 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-08 10:29:35,369 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-08 10:29:35,369 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-08 10:29:35,370 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-08 10:29:35,370 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-08 10:29:35,370 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-08 10:29:35,371 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-08 10:29:35,371 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-08 10:29:35,371 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-08 10:29:35,372 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-08 10:29:35,372 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-08 10:29:35,372 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-08 10:29:35,373 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-08 10:29:35,373 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-08 10:29:35,374 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-08 10:29:35,374 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-08 10:29:35,374 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-08 10:29:35,375 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-08 10:29:35,376 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-08 10:29:35,376 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-08 10:29:35,377 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-08 10:29:35,377 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-08 10:29:35,377 INFO L290 TraceCheckUtils]: 39: Hoare triple {15453#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15418#false} is VALID [2022-04-08 10:29:35,377 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-08 10:29:35,377 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-08 10:29:35,377 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:35,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [111917394] [2022-04-08 10:29:35,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [111917394] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:35,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1143514721] [2022-04-08 10:29:35,378 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:29:35,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:35,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:35,380 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-08 10:29:35,380 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-08 10:29:35,435 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:29:35,436 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:35,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 10:29:35,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:35,449 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:36,025 INFO L272 TraceCheckUtils]: 0: Hoare triple {15417#true} call ULTIMATE.init(); {15417#true} is VALID [2022-04-08 10:29:36,025 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-08 10:29:36,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-08 10:29:36,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-08 10:29:36,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-08 10:29:36,026 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-08 10:29:36,026 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-08 10:29:36,026 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-08 10:29:36,026 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-08 10:29:36,026 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-08 10:29:36,027 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-08 10:29:36,027 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-08 10:29:36,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-08 10:29:36,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-08 10:29:36,028 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-08 10:29:36,029 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-08 10:29:36,029 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-08 10:29:36,029 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-08 10:29:36,030 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-08 10:29:36,030 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-08 10:29:36,031 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-08 10:29:36,031 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-08 10:29:36,031 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-08 10:29:36,032 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-08 10:29:36,032 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-08 10:29:36,032 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-08 10:29:36,033 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-08 10:29:36,033 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-08 10:29:36,033 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-08 10:29:36,034 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-08 10:29:36,034 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-08 10:29:36,035 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-08 10:29:36,035 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-08 10:29:36,035 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-08 10:29:36,036 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-08 10:29:36,036 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-08 10:29:36,037 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-08 10:29:36,037 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-08 10:29:36,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:36,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {15591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15418#false} is VALID [2022-04-08 10:29:36,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-08 10:29:36,038 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-08 10:29:36,038 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:36,495 INFO L290 TraceCheckUtils]: 40: Hoare triple {15418#false} assume !false; {15418#false} is VALID [2022-04-08 10:29:36,496 INFO L290 TraceCheckUtils]: 39: Hoare triple {15591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15418#false} is VALID [2022-04-08 10:29:36,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {15587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:36,497 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-08 10:29:36,497 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-08 10:29:36,498 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-08 10:29:36,498 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-08 10:29:36,499 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-08 10:29:36,499 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-08 10:29:36,500 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-08 10:29:36,500 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-08 10:29:36,500 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-08 10:29:36,501 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-08 10:29:36,501 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-08 10:29:36,502 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-08 10:29:36,502 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-08 10:29:36,502 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-08 10:29:36,503 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-08 10:29:36,503 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-08 10:29:36,503 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-08 10:29:36,504 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-08 10:29:36,504 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-08 10:29:36,504 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-08 10:29:36,505 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-08 10:29:36,505 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-08 10:29:36,506 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-08 10:29:36,506 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-08 10:29:36,507 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-08 10:29:36,507 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-08 10:29:36,507 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-08 10:29:36,508 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-08 10:29:36,508 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-08 10:29:36,508 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-08 10:29:36,509 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-08 10:29:36,509 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-08 10:29:36,509 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-08 10:29:36,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {15417#true} call #t~ret10 := main(); {15417#true} is VALID [2022-04-08 10:29:36,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15417#true} {15417#true} #117#return; {15417#true} is VALID [2022-04-08 10:29:36,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {15417#true} assume true; {15417#true} is VALID [2022-04-08 10:29:36,509 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-08 10:29:36,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {15417#true} call ULTIMATE.init(); {15417#true} is VALID [2022-04-08 10:29:36,509 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-08 10:29:36,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1143514721] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:36,510 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:36,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 29 [2022-04-08 10:29:36,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:36,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1827760333] [2022-04-08 10:29:36,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1827760333] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:36,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:36,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:29:36,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685172665] [2022-04-08 10:29:36,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:36,511 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-08 10:29:36,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:36,511 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-08 10:29:36,537 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-08 10:29:36,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:29:36,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:36,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:29:36,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=743, Unknown=0, NotChecked=0, Total=812 [2022-04-08 10:29:36,538 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-08 10:29:38,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:38,683 INFO L93 Difference]: Finished difference Result 134 states and 157 transitions. [2022-04-08 10:29:38,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:29:38,683 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-08 10:29:38,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:38,684 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-08 10:29:38,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-08 10:29:38,685 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-08 10:29:38,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-08 10:29:38,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 80 transitions. [2022-04-08 10:29:38,759 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-08 10:29:38,762 INFO L225 Difference]: With dead ends: 134 [2022-04-08 10:29:38,762 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 10:29:38,763 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 70 SyntacticMatches, 9 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 362 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=180, Invalid=2076, Unknown=0, NotChecked=0, Total=2256 [2022-04-08 10:29:38,763 INFO L913 BasicCegarLoop]: 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-08 10:29:38,763 INFO L914 BasicCegarLoop]: 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-08 10:29:38,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 10:29:39,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-08 10:29:39,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:39,395 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-08 10:29:39,395 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-08 10:29:39,395 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-08 10:29:39,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:39,397 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-08 10:29:39,397 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-08 10:29:39,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:39,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:39,397 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-08 10:29:39,397 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-08 10:29:39,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:39,401 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-08 10:29:39,401 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-08 10:29:39,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:39,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:39,402 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:39,402 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:39,402 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-08 10:29:39,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 149 transitions. [2022-04-08 10:29:39,404 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 149 transitions. Word has length 41 [2022-04-08 10:29:39,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:39,404 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 149 transitions. [2022-04-08 10:29:39,405 INFO L479 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-08 10:29:39,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 149 transitions. [2022-04-08 10:29:39,606 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-08 10:29:39,606 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 149 transitions. [2022-04-08 10:29:39,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 10:29:39,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:39,607 INFO L499 BasicCegarLoop]: 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-08 10:29:39,626 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 10:29:39,815 WARN L460 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-08 10:29:39,815 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:39,816 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:39,816 INFO L85 PathProgramCache]: Analyzing trace with hash -1133754580, now seen corresponding path program 29 times [2022-04-08 10:29:39,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:39,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1252673096] [2022-04-08 10:29:39,818 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:39,818 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:39,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1133754580, now seen corresponding path program 30 times [2022-04-08 10:29:39,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:39,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [395606432] [2022-04-08 10:29:39,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:39,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:39,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:39,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:39,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:39,857 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-08 10:29:39,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-08 10:29:39,857 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-08 10:29:39,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:39,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:39,926 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-08 10:29:39,926 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-08 10:29:39,927 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-08 10:29:39,927 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-08 10:29:39,928 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-08 10:29:39,929 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-08 10:29:39,929 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-08 10:29:39,930 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-08 10:29:39,930 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-08 10:29:39,930 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-08 10:29:39,931 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-08 10:29:39,931 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-08 10:29:39,932 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-08 10:29:39,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:39,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:40,049 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-08 10:29:40,050 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-08 10:29:40,050 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-08 10:29:40,051 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-08 10:29:40,051 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-08 10:29:40,052 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-08 10:29:40,053 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-08 10:29:40,053 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-08 10:29:40,054 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-08 10:29:40,054 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-08 10:29:40,054 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-08 10:29:40,055 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-08 10:29:40,055 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-08 10:29:40,056 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-08 10:29:40,056 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-08 10:29:40,056 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-08 10:29:40,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-08 10:29:40,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-08 10:29:40,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-08 10:29:40,057 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-08 10:29:40,057 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-08 10:29:40,057 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-08 10:29:40,057 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-08 10:29:40,058 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-08 10:29:40,058 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-08 10:29:40,059 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-08 10:29:40,060 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-08 10:29:40,060 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-08 10:29:40,061 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-08 10:29:40,061 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-08 10:29:40,061 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-08 10:29:40,062 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-08 10:29:40,062 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-08 10:29:40,063 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-08 10:29:40,064 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-08 10:29:40,064 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-08 10:29:40,064 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-08 10:29:40,065 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-08 10:29:40,065 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-08 10:29:40,066 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-08 10:29:40,066 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-08 10:29:40,067 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-08 10:29:40,068 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-08 10:29:40,068 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-08 10:29:40,069 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-08 10:29:40,069 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-08 10:29:40,069 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-08 10:29:40,071 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-08 10:29:40,071 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-08 10:29:40,072 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-08 10:29:40,073 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-08 10:29:40,073 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-08 10:29:40,073 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-08 10:29:40,073 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-08 10:29:40,073 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-08 10:29:40,073 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-08 10:29:40,073 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-08 10:29:40,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:40,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [395606432] [2022-04-08 10:29:40,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [395606432] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:40,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1840071469] [2022-04-08 10:29:40,074 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:29:40,074 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:40,074 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:40,075 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-08 10:29:40,088 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-08 10:29:40,142 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:29:40,142 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:40,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:29:40,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:40,156 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:40,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {16535#true} call ULTIMATE.init(); {16535#true} is VALID [2022-04-08 10:29:40,983 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-08 10:29:40,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-08 10:29:40,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-08 10:29:40,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-08 10:29:40,983 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-08 10:29:40,983 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-08 10:29:40,983 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-08 10:29:40,984 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-08 10:29:40,984 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-08 10:29:40,985 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-08 10:29:40,985 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-08 10:29:40,986 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-08 10:29:40,986 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-08 10:29:40,987 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-08 10:29:40,987 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-08 10:29:40,987 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-08 10:29:40,988 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-08 10:29:40,988 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-08 10:29:40,988 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-08 10:29:40,989 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-08 10:29:40,989 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-08 10:29:40,989 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-08 10:29:40,990 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-08 10:29:40,990 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-08 10:29:40,990 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-08 10:29:40,991 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-08 10:29:40,991 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-08 10:29:40,992 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-08 10:29:40,993 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-08 10:29:40,993 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-08 10:29:40,993 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-08 10:29:40,993 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-08 10:29:40,994 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-08 10:29:40,994 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-08 10:29:40,994 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-08 10:29:40,995 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-08 10:29:40,995 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-08 10:29:40,995 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-08 10:29:40,995 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-08 10:29:40,995 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-08 10:29:40,995 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-08 10:29:40,995 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-08 10:29:40,996 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:42,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {16536#false} assume !false; {16536#false} is VALID [2022-04-08 10:29:42,158 INFO L290 TraceCheckUtils]: 40: Hoare triple {16536#false} assume 0 == ~cond; {16536#false} is VALID [2022-04-08 10:29:42,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {16536#false} ~cond := #in~cond; {16536#false} is VALID [2022-04-08 10:29:42,158 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-08 10:29:42,158 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-08 10:29:42,159 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-08 10:29:42,160 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-08 10:29:42,160 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-08 10:29:42,160 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-08 10:29:42,161 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-08 10:29:42,161 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-08 10:29:42,161 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-08 10:29:42,162 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-08 10:29:42,162 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-08 10:29:42,163 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-08 10:29:42,164 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-08 10:29:42,164 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-08 10:29:42,165 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-08 10:29:42,165 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-08 10:29:42,165 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-08 10:29:42,166 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-08 10:29:42,167 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-08 10:29:42,167 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-08 10:29:42,167 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-08 10:29:42,168 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-08 10:29:42,168 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-08 10:29:42,169 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-08 10:29:42,169 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-08 10:29:42,170 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-08 10:29:42,170 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-08 10:29:42,171 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-08 10:29:42,171 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-08 10:29:42,172 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-08 10:29:42,172 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-08 10:29:42,173 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-08 10:29:42,173 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-08 10:29:42,174 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-08 10:29:42,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {16535#true} call #t~ret10 := main(); {16535#true} is VALID [2022-04-08 10:29:42,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16535#true} {16535#true} #117#return; {16535#true} is VALID [2022-04-08 10:29:42,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {16535#true} assume true; {16535#true} is VALID [2022-04-08 10:29:42,174 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-08 10:29:42,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {16535#true} call ULTIMATE.init(); {16535#true} is VALID [2022-04-08 10:29:42,174 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-08 10:29:42,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1840071469] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:42,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:42,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-08 10:29:42,175 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:42,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1252673096] [2022-04-08 10:29:42,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1252673096] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:42,175 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:42,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:29:42,175 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1101115279] [2022-04-08 10:29:42,175 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:42,177 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-08 10:29:42,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:42,178 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-08 10:29:42,213 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-08 10:29:42,213 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:29:42,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:42,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:29:42,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:29:42,214 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-08 10:29:44,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:44,516 INFO L93 Difference]: Finished difference Result 152 states and 180 transitions. [2022-04-08 10:29:44,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:29:44,517 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-08 10:29:44,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:44,517 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-08 10:29:44,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-08 10:29:44,518 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-08 10:29:44,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 98 transitions. [2022-04-08 10:29:44,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 98 transitions. [2022-04-08 10:29:44,619 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-08 10:29:44,621 INFO L225 Difference]: With dead ends: 152 [2022-04-08 10:29:44,621 INFO L226 Difference]: Without dead ends: 138 [2022-04-08 10:29:44,622 INFO L912 BasicCegarLoop]: 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-08 10:29:44,623 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 105 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 878 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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-08 10:29:44,623 INFO L914 BasicCegarLoop]: 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-08 10:29:44,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-08 10:29:45,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 129. [2022-04-08 10:29:45,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:45,353 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-08 10:29:45,353 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-08 10:29:45,353 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-08 10:29:45,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:45,356 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-08 10:29:45,356 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-08 10:29:45,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:45,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:45,357 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-08 10:29:45,357 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-08 10:29:45,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:45,360 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-08 10:29:45,360 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-08 10:29:45,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:45,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:45,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:45,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:45,360 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-08 10:29:45,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 154 transitions. [2022-04-08 10:29:45,363 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 154 transitions. Word has length 42 [2022-04-08 10:29:45,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:45,363 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 154 transitions. [2022-04-08 10:29:45,363 INFO L479 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-08 10:29:45,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 154 transitions. [2022-04-08 10:29:45,610 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-08 10:29:45,610 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-04-08 10:29:45,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 10:29:45,611 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:45,611 INFO L499 BasicCegarLoop]: 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-08 10:29:45,626 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-08 10:29:45,811 WARN L460 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-08 10:29:45,811 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:45,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:45,812 INFO L85 PathProgramCache]: Analyzing trace with hash 1181369487, now seen corresponding path program 31 times [2022-04-08 10:29:45,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:45,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [705381099] [2022-04-08 10:29:45,814 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:45,814 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:45,814 INFO L85 PathProgramCache]: Analyzing trace with hash 1181369487, now seen corresponding path program 32 times [2022-04-08 10:29:45,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:45,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1813000329] [2022-04-08 10:29:45,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:45,814 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:45,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:45,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:45,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:45,865 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-08 10:29:45,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-08 10:29:45,865 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-08 10:29:45,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:45,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:45,959 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-08 10:29:45,960 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-08 10:29:45,960 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-08 10:29:45,961 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-08 10:29:45,962 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-08 10:29:45,962 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-08 10:29:45,963 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-08 10:29:45,963 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-08 10:29:45,964 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-08 10:29:45,964 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-08 10:29:45,965 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-08 10:29:45,965 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-08 10:29:45,965 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-08 10:29:45,966 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-08 10:29:45,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:29:45,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:46,086 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-08 10:29:46,086 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-08 10:29:46,087 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-08 10:29:46,087 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-08 10:29:46,088 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-08 10:29:46,089 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-08 10:29:46,089 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-08 10:29:46,090 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-08 10:29:46,090 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-08 10:29:46,090 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-08 10:29:46,091 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-08 10:29:46,091 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-08 10:29:46,092 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-08 10:29:46,093 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-08 10:29:46,093 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-08 10:29:46,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-08 10:29:46,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-08 10:29:46,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-08 10:29:46,093 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-08 10:29:46,093 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-08 10:29:46,093 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-08 10:29:46,094 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-08 10:29:46,094 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-08 10:29:46,095 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-08 10:29:46,095 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-08 10:29:46,096 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-08 10:29:46,096 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-08 10:29:46,097 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-08 10:29:46,098 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-08 10:29:46,098 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-08 10:29:46,098 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-08 10:29:46,099 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-08 10:29:46,099 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-08 10:29:46,100 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-08 10:29:46,100 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-08 10:29:46,101 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-08 10:29:46,101 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-08 10:29:46,101 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-08 10:29:46,102 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-08 10:29:46,102 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-08 10:29:46,103 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-08 10:29:46,104 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-08 10:29:46,104 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-08 10:29:46,105 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-08 10:29:46,105 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-08 10:29:46,106 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-08 10:29:46,106 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-08 10:29:46,106 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-08 10:29:46,107 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-08 10:29:46,108 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-08 10:29:46,108 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-08 10:29:46,108 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-08 10:29:46,108 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-08 10:29:46,108 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-08 10:29:46,108 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-08 10:29:46,108 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-08 10:29:46,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:46,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1813000329] [2022-04-08 10:29:46,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1813000329] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:46,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1067844457] [2022-04-08 10:29:46,109 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:46,109 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:46,109 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:46,110 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-08 10:29:46,111 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-08 10:29:46,172 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:46,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:46,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:29:46,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:46,185 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:47,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {17707#true} call ULTIMATE.init(); {17707#true} is VALID [2022-04-08 10:29:47,007 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-08 10:29:47,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-08 10:29:47,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-08 10:29:47,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-08 10:29:47,007 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-08 10:29:47,007 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-08 10:29:47,007 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-08 10:29:47,008 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-08 10:29:47,008 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-08 10:29:47,009 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-08 10:29:47,009 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-08 10:29:47,010 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-08 10:29:47,011 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-08 10:29:47,011 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-08 10:29:47,012 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-08 10:29:47,012 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-08 10:29:47,013 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-08 10:29:47,013 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-08 10:29:47,014 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-08 10:29:47,014 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-08 10:29:47,015 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-08 10:29:47,015 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-08 10:29:47,015 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-08 10:29:47,016 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-08 10:29:47,016 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-08 10:29:47,017 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-08 10:29:47,017 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-08 10:29:47,018 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-08 10:29:47,019 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-08 10:29:47,019 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-08 10:29:47,020 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-08 10:29:47,020 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-08 10:29:47,020 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-08 10:29:47,021 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-08 10:29:47,021 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-08 10:29:47,022 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-08 10:29:47,022 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-08 10:29:47,022 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-08 10:29:47,022 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-08 10:29:47,022 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-08 10:29:47,022 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-08 10:29:47,023 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-08 10:29:47,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:48,172 INFO L290 TraceCheckUtils]: 41: Hoare triple {17708#false} assume !false; {17708#false} is VALID [2022-04-08 10:29:48,173 INFO L290 TraceCheckUtils]: 40: Hoare triple {17708#false} assume 0 == ~cond; {17708#false} is VALID [2022-04-08 10:29:48,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {17708#false} ~cond := #in~cond; {17708#false} is VALID [2022-04-08 10:29:48,173 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-08 10:29:48,173 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-08 10:29:48,174 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-08 10:29:48,174 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-08 10:29:48,174 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-08 10:29:48,174 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-08 10:29:48,175 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-08 10:29:48,175 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-08 10:29:48,175 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-08 10:29:48,176 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-08 10:29:48,176 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-08 10:29:48,177 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-08 10:29:48,177 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-08 10:29:48,178 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-08 10:29:48,178 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-08 10:29:48,178 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-08 10:29:48,178 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-08 10:29:48,179 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-08 10:29:48,180 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-08 10:29:48,180 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-08 10:29:48,180 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-08 10:29:48,180 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-08 10:29:48,181 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-08 10:29:48,181 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-08 10:29:48,181 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-08 10:29:48,182 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-08 10:29:48,183 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-08 10:29:48,183 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-08 10:29:48,183 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-08 10:29:48,184 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-08 10:29:48,184 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-08 10:29:48,184 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-08 10:29:48,184 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-08 10:29:48,185 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-08 10:29:48,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {17707#true} call #t~ret10 := main(); {17707#true} is VALID [2022-04-08 10:29:48,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17707#true} {17707#true} #117#return; {17707#true} is VALID [2022-04-08 10:29:48,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {17707#true} assume true; {17707#true} is VALID [2022-04-08 10:29:48,185 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-08 10:29:48,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {17707#true} call ULTIMATE.init(); {17707#true} is VALID [2022-04-08 10:29:48,185 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-08 10:29:48,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1067844457] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:48,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:48,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-08 10:29:48,185 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:48,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [705381099] [2022-04-08 10:29:48,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [705381099] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:48,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:48,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:29:48,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1848049931] [2022-04-08 10:29:48,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:48,186 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-08 10:29:48,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:48,186 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-08 10:29:48,215 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-08 10:29:48,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:29:48,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:48,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:29:48,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:29:48,216 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-08 10:29:50,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:50,502 INFO L93 Difference]: Finished difference Result 144 states and 169 transitions. [2022-04-08 10:29:50,502 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:29:50,502 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-08 10:29:50,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:50,504 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-08 10:29:50,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-04-08 10:29:50,506 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-08 10:29:50,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-04-08 10:29:50,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 97 transitions. [2022-04-08 10:29:50,605 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-08 10:29:50,607 INFO L225 Difference]: With dead ends: 144 [2022-04-08 10:29:50,607 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 10:29:50,608 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 209 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=168, Invalid=1554, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 10:29:50,608 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 107 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 901 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:29:50,609 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 120 Invalid, 916 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 901 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 10:29:50,609 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 10:29:51,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-08 10:29:51,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:51,378 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-08 10:29:51,379 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-08 10:29:51,379 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-08 10:29:51,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:51,382 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-08 10:29:51,382 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-08 10:29:51,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:51,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:51,383 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-08 10:29:51,383 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-08 10:29:51,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:51,386 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-08 10:29:51,387 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-08 10:29:51,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:51,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:51,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:51,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:51,388 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-08 10:29:51,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 154 transitions. [2022-04-08 10:29:51,390 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 154 transitions. Word has length 42 [2022-04-08 10:29:51,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:51,391 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 154 transitions. [2022-04-08 10:29:51,391 INFO L479 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-08 10:29:51,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 154 transitions. [2022-04-08 10:29:51,665 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-08 10:29:51,665 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 154 transitions. [2022-04-08 10:29:51,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 10:29:51,666 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:51,666 INFO L499 BasicCegarLoop]: 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-08 10:29:51,692 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-08 10:29:51,867 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-08 10:29:51,867 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:51,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:51,867 INFO L85 PathProgramCache]: Analyzing trace with hash -439775891, now seen corresponding path program 33 times [2022-04-08 10:29:51,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:51,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718615771] [2022-04-08 10:29:51,869 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:51,869 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:51,869 INFO L85 PathProgramCache]: Analyzing trace with hash -439775891, now seen corresponding path program 34 times [2022-04-08 10:29:51,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:51,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [36858864] [2022-04-08 10:29:51,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:51,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:51,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:51,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:51,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:51,914 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-08 10:29:51,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:51,915 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-08 10:29:51,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:51,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:51,925 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-08 10:29:51,925 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-08 10:29:51,925 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-08 10:29:51,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-08 10:29:51,925 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-08 10:29:51,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-08 10:29:51,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-08 10:29:51,925 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-08 10:29:51,925 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-08 10:29:51,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-08 10:29:51,926 INFO L290 TraceCheckUtils]: 10: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-08 10:29:51,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:51,926 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-08 10:29:51,926 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:29:51,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:51,968 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-08 10:29:51,969 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-08 10:29:51,970 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-08 10:29:51,970 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-08 10:29:51,970 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-08 10:29:51,971 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-08 10:29:51,971 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-08 10:29:51,971 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-08 10:29:51,972 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-08 10:29:51,972 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-08 10:29:51,972 INFO L290 TraceCheckUtils]: 10: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-08 10:29:51,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-08 10:29:51,973 INFO L290 TraceCheckUtils]: 12: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-08 10:29:51,973 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-08 10:29:51,973 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-08 10:29:51,973 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-08 10:29:51,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:51,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-08 10:29:51,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-08 10:29:51,974 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-08 10:29:51,974 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-08 10:29:51,974 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-08 10:29:51,974 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-08 10:29:51,974 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-08 10:29:51,975 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-08 10:29:51,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-08 10:29:51,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:51,975 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-08 10:29:51,975 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-08 10:29:51,975 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-08 10:29:51,975 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-08 10:29:51,976 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-08 10:29:51,976 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-08 10:29:51,977 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-08 10:29:51,977 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-08 10:29:51,977 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-08 10:29:51,978 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-08 10:29:51,978 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-08 10:29:51,979 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-08 10:29:51,979 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-08 10:29:51,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-08 10:29:51,979 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-08 10:29:51,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-08 10:29:51,979 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-08 10:29:51,979 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-08 10:29:51,979 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-08 10:29:51,980 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-08 10:29:51,980 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-08 10:29:51,980 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-08 10:29:51,980 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-08 10:29:51,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:51,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [36858864] [2022-04-08 10:29:51,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [36858864] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:51,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [274806760] [2022-04-08 10:29:51,980 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:29:51,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:51,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:51,984 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-08 10:29:52,013 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-08 10:29:52,049 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:29:52,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:52,050 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:29:52,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:52,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:52,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {18853#true} call ULTIMATE.init(); {18853#true} is VALID [2022-04-08 10:29:52,212 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-08 10:29:52,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:52,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-08 10:29:52,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-08 10:29:52,213 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-08 10:29:52,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-08 10:29:52,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-08 10:29:52,213 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-08 10:29:52,213 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-08 10:29:52,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-08 10:29:52,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-08 10:29:52,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:52,215 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-08 10:29:52,215 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-08 10:29:52,215 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-08 10:29:52,215 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-08 10:29:52,216 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-08 10:29:52,216 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-08 10:29:52,217 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-08 10:29:52,217 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-08 10:29:52,217 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-08 10:29:52,218 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-08 10:29:52,218 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-08 10:29:52,219 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-08 10:29:52,219 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-08 10:29:52,219 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-08 10:29:52,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-08 10:29:52,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-08 10:29:52,220 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-08 10:29:52,220 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-08 10:29:52,220 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-08 10:29:52,220 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-08 10:29:52,220 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-08 10:29:52,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-08 10:29:52,220 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-08 10:29:52,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:52,366 INFO L290 TraceCheckUtils]: 41: Hoare triple {18854#false} assume !false; {18854#false} is VALID [2022-04-08 10:29:52,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {18854#false} assume 0 == ~cond; {18854#false} is VALID [2022-04-08 10:29:52,366 INFO L290 TraceCheckUtils]: 39: Hoare triple {18854#false} ~cond := #in~cond; {18854#false} is VALID [2022-04-08 10:29:52,366 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-08 10:29:52,366 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-08 10:29:52,366 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18854#false} {18853#true} #113#return; {18854#false} is VALID [2022-04-08 10:29:52,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {18854#false} assume true; {18854#false} is VALID [2022-04-08 10:29:52,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {18854#false} #res := ~y~1; {18854#false} is VALID [2022-04-08 10:29:52,367 INFO L290 TraceCheckUtils]: 33: Hoare triple {18854#false} assume !(~x~1 < ~i~1); {18854#false} is VALID [2022-04-08 10:29:52,367 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-08 10:29:52,368 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-08 10:29:52,368 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-08 10:29:52,368 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-08 10:29:52,369 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-08 10:29:52,369 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-08 10:29:52,369 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-08 10:29:52,370 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-08 10:29:52,370 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-08 10:29:52,371 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-08 10:29:52,371 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-08 10:29:52,371 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-08 10:29:52,371 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18853#true} {18853#true} #111#return; {18853#true} is VALID [2022-04-08 10:29:52,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:52,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {18853#true} #res := ~y~0; {18853#true} is VALID [2022-04-08 10:29:52,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {18853#true} assume !(~x~0 < ~i~0); {18853#true} is VALID [2022-04-08 10:29:52,371 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-08 10:29:52,371 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-08 10:29:52,371 INFO L290 TraceCheckUtils]: 14: Hoare triple {18853#true} ~x~0 := 0;~y~0 := 0; {18853#true} is VALID [2022-04-08 10:29:52,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {18853#true} assume !(~l~0 < ~m); {18853#true} is VALID [2022-04-08 10:29:52,372 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-08 10:29:52,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {18853#true} assume !(~b~0 < ~n); {18853#true} is VALID [2022-04-08 10:29:52,372 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-08 10:29:52,372 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-08 10:29:52,372 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-08 10:29:52,372 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-08 10:29:52,372 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-08 10:29:52,372 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-08 10:29:52,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {18853#true} call #t~ret10 := main(); {18853#true} is VALID [2022-04-08 10:29:52,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18853#true} {18853#true} #117#return; {18853#true} is VALID [2022-04-08 10:29:52,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {18853#true} assume true; {18853#true} is VALID [2022-04-08 10:29:52,372 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-08 10:29:52,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {18853#true} call ULTIMATE.init(); {18853#true} is VALID [2022-04-08 10:29:52,373 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-08 10:29:52,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [274806760] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:52,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:52,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-08 10:29:52,373 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:52,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718615771] [2022-04-08 10:29:52,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718615771] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:52,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:52,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 10:29:52,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1073157983] [2022-04-08 10:29:52,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:52,374 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-08 10:29:52,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:52,374 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-08 10:29:52,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:29:52,400 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 10:29:52,400 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:52,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 10:29:52,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:29:52,400 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-08 10:29:53,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:53,699 INFO L93 Difference]: Finished difference Result 186 states and 223 transitions. [2022-04-08 10:29:53,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:29:53,699 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-08 10:29:53,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:53,699 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-08 10:29:53,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-08 10:29:53,700 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-08 10:29:53,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-08 10:29:53,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 70 transitions. [2022-04-08 10:29:53,768 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-08 10:29:53,771 INFO L225 Difference]: With dead ends: 186 [2022-04-08 10:29:53,771 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 10:29:53,772 INFO L912 BasicCegarLoop]: 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-08 10:29:53,773 INFO L913 BasicCegarLoop]: 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-08 10:29:53,773 INFO L914 BasicCegarLoop]: 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-08 10:29:53,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 10:29:54,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 152. [2022-04-08 10:29:54,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:54,731 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-08 10:29:54,731 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-08 10:29:54,731 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-08 10:29:54,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:54,736 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-08 10:29:54,736 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-08 10:29:54,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:54,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:54,737 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-08 10:29:54,737 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-08 10:29:54,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:54,740 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-08 10:29:54,740 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-08 10:29:54,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:54,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:54,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:54,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:54,741 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-08 10:29:54,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 181 transitions. [2022-04-08 10:29:54,744 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 181 transitions. Word has length 42 [2022-04-08 10:29:54,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:54,744 INFO L478 AbstractCegarLoop]: Abstraction has 152 states and 181 transitions. [2022-04-08 10:29:54,744 INFO L479 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-08 10:29:54,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 152 states and 181 transitions. [2022-04-08 10:29:55,059 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-08 10:29:55,059 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 181 transitions. [2022-04-08 10:29:55,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 10:29:55,063 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:55,063 INFO L499 BasicCegarLoop]: 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-08 10:29:55,089 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-08 10:29:55,286 WARN L460 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-08 10:29:55,286 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:55,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:55,287 INFO L85 PathProgramCache]: Analyzing trace with hash -466729134, now seen corresponding path program 35 times [2022-04-08 10:29:55,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:55,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1080669274] [2022-04-08 10:29:55,289 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:55,289 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:55,289 INFO L85 PathProgramCache]: Analyzing trace with hash -466729134, now seen corresponding path program 36 times [2022-04-08 10:29:55,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:55,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1171088820] [2022-04-08 10:29:55,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:55,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:55,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:55,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:55,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:55,322 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-08 10:29:55,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,322 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-08 10:29:55,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:55,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:55,364 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-08 10:29:55,365 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-08 10:29:55,366 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-08 10:29:55,366 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-08 10:29:55,366 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-08 10:29:55,367 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-08 10:29:55,367 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-08 10:29:55,368 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-08 10:29:55,368 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-08 10:29:55,369 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-08 10:29:55,369 INFO L290 TraceCheckUtils]: 10: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-08 10:29:55,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-08 10:29:55,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-08 10:29:55,369 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-08 10:29:55,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:29:55,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:55,375 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-08 10:29:55,375 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-08 10:29:55,376 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-08 10:29:55,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-08 10:29:55,376 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-08 10:29:55,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-08 10:29:55,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-08 10:29:55,376 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-08 10:29:55,376 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-08 10:29:55,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-08 10:29:55,376 INFO L290 TraceCheckUtils]: 10: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-08 10:29:55,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,376 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-08 10:29:55,377 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-08 10:29:55,377 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-08 10:29:55,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-08 10:29:55,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-08 10:29:55,377 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-08 10:29:55,377 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-08 10:29:55,377 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-08 10:29:55,378 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-08 10:29:55,378 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-08 10:29:55,379 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-08 10:29:55,379 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-08 10:29:55,379 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-08 10:29:55,380 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-08 10:29:55,380 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-08 10:29:55,381 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-08 10:29:55,381 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-08 10:29:55,381 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-08 10:29:55,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-08 10:29:55,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-08 10:29:55,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-08 10:29:55,382 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-08 10:29:55,382 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-08 10:29:55,382 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-08 10:29:55,382 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-08 10:29:55,382 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-08 10:29:55,382 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-08 10:29:55,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-08 10:29:55,382 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-08 10:29:55,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-08 10:29:55,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-08 10:29:55,383 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-08 10:29:55,383 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-08 10:29:55,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-08 10:29:55,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-08 10:29:55,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,383 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-08 10:29:55,383 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-08 10:29:55,383 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-08 10:29:55,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-08 10:29:55,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-08 10:29:55,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-08 10:29:55,384 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-08 10:29:55,384 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:55,384 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1171088820] [2022-04-08 10:29:55,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1171088820] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:55,384 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1960612768] [2022-04-08 10:29:55,384 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:29:55,384 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:55,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:55,388 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-08 10:29:55,411 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-08 10:29:55,461 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:29:55,461 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:55,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:29:55,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:55,472 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:55,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {20168#true} call ULTIMATE.init(); {20168#true} is VALID [2022-04-08 10:29:55,620 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-08 10:29:55,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-08 10:29:55,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-08 10:29:55,620 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-08 10:29:55,620 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-08 10:29:55,620 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-08 10:29:55,621 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-08 10:29:55,621 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-08 10:29:55,622 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-08 10:29:55,622 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-08 10:29:55,622 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-08 10:29:55,623 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-08 10:29:55,623 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-08 10:29:55,624 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-08 10:29:55,624 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-08 10:29:55,625 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-08 10:29:55,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-08 10:29:55,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-08 10:29:55,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-08 10:29:55,625 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-08 10:29:55,625 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-08 10:29:55,625 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-08 10:29:55,625 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-08 10:29:55,625 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-08 10:29:55,625 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-08 10:29:55,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {20169#false} assume !(~b~1 < ~n); {20169#false} is VALID [2022-04-08 10:29:55,625 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-08 10:29:55,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {20169#false} assume !(~l~1 < ~m); {20169#false} is VALID [2022-04-08 10:29:55,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {20169#false} ~x~1 := 0;~y~1 := 0; {20169#false} is VALID [2022-04-08 10:29:55,626 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-08 10:29:55,626 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-08 10:29:55,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {20169#false} assume !(~x~1 < ~i~1); {20169#false} is VALID [2022-04-08 10:29:55,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {20169#false} #res := ~y~1; {20169#false} is VALID [2022-04-08 10:29:55,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-08 10:29:55,626 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20169#false} {20169#false} #113#return; {20169#false} is VALID [2022-04-08 10:29:55,626 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-08 10:29:55,626 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-08 10:29:55,626 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-08 10:29:55,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-08 10:29:55,627 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-08 10:29:55,627 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-08 10:29:55,627 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:29:55,765 INFO L290 TraceCheckUtils]: 41: Hoare triple {20169#false} assume !false; {20169#false} is VALID [2022-04-08 10:29:55,765 INFO L290 TraceCheckUtils]: 40: Hoare triple {20169#false} assume 0 == ~cond; {20169#false} is VALID [2022-04-08 10:29:55,765 INFO L290 TraceCheckUtils]: 39: Hoare triple {20169#false} ~cond := #in~cond; {20169#false} is VALID [2022-04-08 10:29:55,766 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-08 10:29:55,766 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-08 10:29:55,766 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20168#true} {20169#false} #113#return; {20169#false} is VALID [2022-04-08 10:29:55,766 INFO L290 TraceCheckUtils]: 35: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {20168#true} #res := ~y~1; {20168#true} is VALID [2022-04-08 10:29:55,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {20168#true} assume !(~x~1 < ~i~1); {20168#true} is VALID [2022-04-08 10:29:55,766 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-08 10:29:55,766 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-08 10:29:55,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {20168#true} ~x~1 := 0;~y~1 := 0; {20168#true} is VALID [2022-04-08 10:29:55,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {20168#true} assume !(~l~1 < ~m); {20168#true} is VALID [2022-04-08 10:29:55,766 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-08 10:29:55,766 INFO L290 TraceCheckUtils]: 27: Hoare triple {20168#true} assume !(~b~1 < ~n); {20168#true} is VALID [2022-04-08 10:29:55,767 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-08 10:29:55,767 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-08 10:29:55,767 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-08 10:29:55,767 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-08 10:29:55,767 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-08 10:29:55,767 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20169#false} {20168#true} #111#return; {20169#false} is VALID [2022-04-08 10:29:55,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {20169#false} assume true; {20169#false} is VALID [2022-04-08 10:29:55,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {20169#false} #res := ~y~0; {20169#false} is VALID [2022-04-08 10:29:55,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {20169#false} assume !(~x~0 < ~i~0); {20169#false} is VALID [2022-04-08 10:29:55,768 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-08 10:29:55,768 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-08 10:29:55,769 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-08 10:29:55,769 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-08 10:29:55,769 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-08 10:29:55,770 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-08 10:29:55,770 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-08 10:29:55,770 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-08 10:29:55,771 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-08 10:29:55,771 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-08 10:29:55,771 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-08 10:29:55,771 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-08 10:29:55,771 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-08 10:29:55,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {20168#true} call #t~ret10 := main(); {20168#true} is VALID [2022-04-08 10:29:55,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20168#true} {20168#true} #117#return; {20168#true} is VALID [2022-04-08 10:29:55,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {20168#true} assume true; {20168#true} is VALID [2022-04-08 10:29:55,772 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-08 10:29:55,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {20168#true} call ULTIMATE.init(); {20168#true} is VALID [2022-04-08 10:29:55,772 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-08 10:29:55,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1960612768] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:29:55,773 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:29:55,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-08 10:29:55,773 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:29:55,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1080669274] [2022-04-08 10:29:55,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1080669274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:29:55,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:29:55,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 10:29:55,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1441660152] [2022-04-08 10:29:55,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:29:55,774 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-08 10:29:55,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:29:55,774 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-08 10:29:55,799 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-08 10:29:55,800 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 10:29:55,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:55,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 10:29:55,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:29:55,800 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-08 10:29:57,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:57,126 INFO L93 Difference]: Finished difference Result 290 states and 347 transitions. [2022-04-08 10:29:57,126 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:29:57,126 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-08 10:29:57,126 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:29:57,126 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-08 10:29:57,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-08 10:29:57,128 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-08 10:29:57,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-08 10:29:57,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 83 transitions. [2022-04-08 10:29:57,188 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-08 10:29:57,191 INFO L225 Difference]: With dead ends: 290 [2022-04-08 10:29:57,192 INFO L226 Difference]: Without dead ends: 186 [2022-04-08 10:29:57,193 INFO L912 BasicCegarLoop]: 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-08 10:29:57,193 INFO L913 BasicCegarLoop]: 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-08 10:29:57,193 INFO L914 BasicCegarLoop]: 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-08 10:29:57,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-08 10:29:58,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 174. [2022-04-08 10:29:58,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:29:58,142 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-08 10:29:58,142 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-08 10:29:58,142 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-08 10:29:58,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:58,145 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-08 10:29:58,145 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-08 10:29:58,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:58,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:58,146 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-08 10:29:58,147 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-08 10:29:58,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:29:58,150 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-08 10:29:58,150 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-08 10:29:58,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:29:58,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:29:58,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:29:58,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:29:58,151 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-08 10:29:58,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 208 transitions. [2022-04-08 10:29:58,163 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 208 transitions. Word has length 42 [2022-04-08 10:29:58,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:29:58,163 INFO L478 AbstractCegarLoop]: Abstraction has 174 states and 208 transitions. [2022-04-08 10:29:58,163 INFO L479 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-08 10:29:58,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 174 states and 208 transitions. [2022-04-08 10:29:58,457 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-08 10:29:58,458 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 208 transitions. [2022-04-08 10:29:58,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:29:58,458 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:29:58,458 INFO L499 BasicCegarLoop]: 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-08 10:29:58,474 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-08 10:29:58,659 WARN L460 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-08 10:29:58,659 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:29:58,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:29:58,659 INFO L85 PathProgramCache]: Analyzing trace with hash 1243243306, now seen corresponding path program 37 times [2022-04-08 10:29:58,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:29:58,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [340826649] [2022-04-08 10:29:58,662 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:29:58,663 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:29:58,663 INFO L85 PathProgramCache]: Analyzing trace with hash 1243243306, now seen corresponding path program 38 times [2022-04-08 10:29:58,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:29:58,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144517489] [2022-04-08 10:29:58,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:29:58,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:29:58,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:58,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:29:58,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:58,759 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-08 10:29:58,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-08 10:29:58,759 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-08 10:29:58,760 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:29:58,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:58,889 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-08 10:29:58,889 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-08 10:29:58,890 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-08 10:29:58,890 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-08 10:29:58,890 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-08 10:29:58,891 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-08 10:29:58,891 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-08 10:29:58,892 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-08 10:29:58,892 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-08 10:29:58,893 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-08 10:29:58,893 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-08 10:29:58,893 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-08 10:29:58,894 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-08 10:29:58,894 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-08 10:29:58,894 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:29:58,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:59,107 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-08 10:29:59,108 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-08 10:29:59,109 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-08 10:29:59,109 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-08 10:29:59,110 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-08 10:29:59,110 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-08 10:29:59,111 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-08 10:29:59,112 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-08 10:29:59,112 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-08 10:29:59,113 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-08 10:29:59,113 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-08 10:29:59,114 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-08 10:29:59,114 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-08 10:29:59,115 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-08 10:29:59,116 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-08 10:29:59,116 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-08 10:29:59,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-08 10:29:59,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-08 10:29:59,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-08 10:29:59,117 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-08 10:29:59,117 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-08 10:29:59,117 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-08 10:29:59,117 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-08 10:29:59,118 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-08 10:29:59,118 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-08 10:29:59,119 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-08 10:29:59,119 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-08 10:29:59,120 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-08 10:29:59,120 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-08 10:29:59,121 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-08 10:29:59,121 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-08 10:29:59,122 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-08 10:29:59,122 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-08 10:29:59,123 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-08 10:29:59,123 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-08 10:29:59,124 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-08 10:29:59,125 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-08 10:29:59,125 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-08 10:29:59,125 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-08 10:29:59,126 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-08 10:29:59,126 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-08 10:29:59,127 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-08 10:29:59,127 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-08 10:29:59,128 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-08 10:29:59,129 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-08 10:29:59,129 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-08 10:29:59,129 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-08 10:29:59,130 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-08 10:29:59,131 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-08 10:29:59,131 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-08 10:29:59,131 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-08 10:29:59,132 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-08 10:29:59,133 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-08 10:29:59,134 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-08 10:29:59,134 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-08 10:29:59,134 INFO L290 TraceCheckUtils]: 41: Hoare triple {21817#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {21780#false} is VALID [2022-04-08 10:29:59,135 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-08 10:29:59,135 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-08 10:29:59,135 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:29:59,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144517489] [2022-04-08 10:29:59,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2144517489] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:29:59,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [62806612] [2022-04-08 10:29:59,135 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:29:59,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:29:59,136 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:29:59,140 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-08 10:29:59,171 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-08 10:29:59,222 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:29:59,222 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:29:59,223 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 10:29:59,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:29:59,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:29:59,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {21779#true} call ULTIMATE.init(); {21779#true} is VALID [2022-04-08 10:29:59,814 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-08 10:29:59,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-08 10:29:59,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-08 10:29:59,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-08 10:29:59,814 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-08 10:29:59,814 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-08 10:29:59,814 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-08 10:29:59,814 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-08 10:29:59,815 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-08 10:29:59,815 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-08 10:29:59,816 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-08 10:29:59,816 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-08 10:29:59,817 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-08 10:29:59,817 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-08 10:29:59,817 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-08 10:29:59,818 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-08 10:29:59,818 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-08 10:29:59,818 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-08 10:29:59,819 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-08 10:29:59,819 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-08 10:29:59,823 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-08 10:29:59,823 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-08 10:29:59,823 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-08 10:29:59,823 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-08 10:29:59,824 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-08 10:29:59,824 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-08 10:29:59,825 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-08 10:29:59,825 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-08 10:29:59,826 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-08 10:29:59,826 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-08 10:29:59,827 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-08 10:29:59,827 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-08 10:29:59,828 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-08 10:29:59,828 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-08 10:29:59,829 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-08 10:29:59,829 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-08 10:29:59,830 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-08 10:29:59,830 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-08 10:29:59,831 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-08 10:29:59,831 INFO L290 TraceCheckUtils]: 40: Hoare triple {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:29:59,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {21963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21780#false} is VALID [2022-04-08 10:29:59,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-08 10:29:59,832 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-08 10:29:59,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:00,297 INFO L290 TraceCheckUtils]: 42: Hoare triple {21780#false} assume !false; {21780#false} is VALID [2022-04-08 10:30:00,298 INFO L290 TraceCheckUtils]: 41: Hoare triple {21963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21780#false} is VALID [2022-04-08 10:30:00,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {21959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:30:00,299 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-08 10:30:00,299 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-08 10:30:00,300 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-08 10:30:00,301 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-08 10:30:00,301 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-08 10:30:00,301 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-08 10:30:00,302 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-08 10:30:00,302 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-08 10:30:00,302 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-08 10:30:00,303 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-08 10:30:00,303 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-08 10:30:00,304 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-08 10:30:00,304 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-08 10:30:00,305 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-08 10:30:00,305 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-08 10:30:00,305 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-08 10:30:00,305 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-08 10:30:00,306 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-08 10:30:00,307 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-08 10:30:00,308 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-08 10:30:00,308 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-08 10:30:00,308 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-08 10:30:00,309 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-08 10:30:00,309 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-08 10:30:00,310 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-08 10:30:00,310 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-08 10:30:00,311 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-08 10:30:00,311 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-08 10:30:00,312 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-08 10:30:00,312 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-08 10:30:00,312 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-08 10:30:00,313 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-08 10:30:00,313 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-08 10:30:00,313 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-08 10:30:00,313 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-08 10:30:00,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {21779#true} call #t~ret10 := main(); {21779#true} is VALID [2022-04-08 10:30:00,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21779#true} {21779#true} #117#return; {21779#true} is VALID [2022-04-08 10:30:00,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {21779#true} assume true; {21779#true} is VALID [2022-04-08 10:30:00,313 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-08 10:30:00,313 INFO L272 TraceCheckUtils]: 0: Hoare triple {21779#true} call ULTIMATE.init(); {21779#true} is VALID [2022-04-08 10:30:00,313 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-08 10:30:00,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [62806612] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:00,313 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:00,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 31 [2022-04-08 10:30:00,314 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:00,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [340826649] [2022-04-08 10:30:00,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [340826649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:00,314 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:00,314 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:30:00,314 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1389706423] [2022-04-08 10:30:00,314 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:00,314 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-08 10:30:00,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:00,314 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-08 10:30:00,343 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-08 10:30:00,343 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:30:00,343 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:00,343 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:30:00,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=861, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:30:00,344 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-08 10:30:04,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:04,684 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-08 10:30:04,684 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:30:04,684 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-08 10:30:04,685 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:04,685 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-08 10:30:04,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-08 10:30:04,686 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-08 10:30:04,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-08 10:30:04,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 126 transitions. [2022-04-08 10:30:04,797 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-08 10:30:04,800 INFO L225 Difference]: With dead ends: 224 [2022-04-08 10:30:04,800 INFO L226 Difference]: Without dead ends: 218 [2022-04-08 10:30:04,802 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 80 SyntacticMatches, 5 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 398 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=190, Invalid=2672, Unknown=0, NotChecked=0, Total=2862 [2022-04-08 10:30:04,802 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 130 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1875 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:04,802 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [135 Valid, 170 Invalid, 1911 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1875 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 10:30:04,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-08 10:30:05,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 190. [2022-04-08 10:30:05,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:05,926 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-08 10:30:05,926 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-08 10:30:05,926 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-08 10:30:05,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:05,930 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-08 10:30:05,930 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-08 10:30:05,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:05,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:05,931 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-08 10:30:05,932 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-08 10:30:05,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:05,935 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-08 10:30:05,936 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-08 10:30:05,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:05,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:05,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:05,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:05,937 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-08 10:30:05,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 227 transitions. [2022-04-08 10:30:05,940 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 227 transitions. Word has length 43 [2022-04-08 10:30:05,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:05,941 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 227 transitions. [2022-04-08 10:30:05,941 INFO L479 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-08 10:30:05,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 227 transitions. [2022-04-08 10:30:06,291 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-08 10:30:06,291 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 227 transitions. [2022-04-08 10:30:06,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:30:06,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:06,292 INFO L499 BasicCegarLoop]: 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-08 10:30:06,315 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-08 10:30:06,492 WARN L460 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-08 10:30:06,493 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:06,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:06,493 INFO L85 PathProgramCache]: Analyzing trace with hash 1453763067, now seen corresponding path program 39 times [2022-04-08 10:30:06,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:06,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1768997145] [2022-04-08 10:30:06,496 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:06,496 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:06,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1453763067, now seen corresponding path program 40 times [2022-04-08 10:30:06,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:06,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1645268552] [2022-04-08 10:30:06,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:06,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:06,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:06,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:06,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:06,574 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-08 10:30:06,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-08 10:30:06,574 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-08 10:30:06,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:06,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:06,696 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-08 10:30:06,697 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-08 10:30:06,697 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-08 10:30:06,698 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-08 10:30:06,698 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-08 10:30:06,699 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-08 10:30:06,699 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-08 10:30:06,699 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-08 10:30:06,700 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-08 10:30:06,700 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-08 10:30:06,701 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-08 10:30:06,701 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-08 10:30:06,702 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-08 10:30:06,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:30:06,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:06,883 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-08 10:30:06,884 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-08 10:30:06,885 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-08 10:30:06,886 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-08 10:30:06,886 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-08 10:30:06,887 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-08 10:30:06,887 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-08 10:30:06,887 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-08 10:30:06,888 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-08 10:30:06,888 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-08 10:30:06,888 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-08 10:30:06,889 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-08 10:30:06,889 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-08 10:30:06,889 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-08 10:30:06,890 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-08 10:30:06,891 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-08 10:30:06,891 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-08 10:30:06,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-08 10:30:06,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-08 10:30:06,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-08 10:30:06,891 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-08 10:30:06,891 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-08 10:30:06,891 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-08 10:30:06,892 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-08 10:30:06,893 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-08 10:30:06,893 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-08 10:30:06,894 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-08 10:30:06,894 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-08 10:30:06,895 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-08 10:30:06,895 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-08 10:30:06,895 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-08 10:30:06,896 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-08 10:30:06,896 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-08 10:30:06,897 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-08 10:30:06,897 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-08 10:30:06,898 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-08 10:30:06,898 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-08 10:30:06,898 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-08 10:30:06,899 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-08 10:30:06,899 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-08 10:30:06,900 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-08 10:30:06,901 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-08 10:30:06,901 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-08 10:30:06,902 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-08 10:30:06,902 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-08 10:30:06,902 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-08 10:30:06,903 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-08 10:30:06,903 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-08 10:30:06,903 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-08 10:30:06,904 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-08 10:30:06,904 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-08 10:30:06,904 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-08 10:30:06,905 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-08 10:30:06,905 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-08 10:30:06,906 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-08 10:30:06,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-08 10:30:06,906 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-08 10:30:06,906 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-08 10:30:06,906 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-08 10:30:06,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:06,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1645268552] [2022-04-08 10:30:06,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1645268552] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:06,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [893981220] [2022-04-08 10:30:06,906 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:30:06,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:06,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:06,921 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-08 10:30:07,005 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-08 10:30:07,073 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:30:07,073 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:07,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:30:07,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:07,092 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:07,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {23409#true} call ULTIMATE.init(); {23409#true} is VALID [2022-04-08 10:30:07,851 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-08 10:30:07,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-08 10:30:07,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-08 10:30:07,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-08 10:30:07,851 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-08 10:30:07,851 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-08 10:30:07,851 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-08 10:30:07,852 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-08 10:30:07,852 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-08 10:30:07,853 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-08 10:30:07,853 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-08 10:30:07,854 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-08 10:30:07,854 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-08 10:30:07,854 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-08 10:30:07,855 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-08 10:30:07,855 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-08 10:30:07,855 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-08 10:30:07,856 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-08 10:30:07,856 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-08 10:30:07,857 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-08 10:30:07,857 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-08 10:30:07,857 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-08 10:30:07,857 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-08 10:30:07,858 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-08 10:30:07,858 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-08 10:30:07,859 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-08 10:30:07,859 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-08 10:30:07,859 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-08 10:30:07,860 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-08 10:30:07,860 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-08 10:30:07,860 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-08 10:30:07,861 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-08 10:30:07,861 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-08 10:30:07,861 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-08 10:30:07,861 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-08 10:30:07,862 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-08 10:30:07,862 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-08 10:30:07,862 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-08 10:30:07,862 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-08 10:30:07,863 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-08 10:30:07,863 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-08 10:30:07,863 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-08 10:30:07,863 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-08 10:30:07,863 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:08,829 INFO L290 TraceCheckUtils]: 42: Hoare triple {23410#false} assume !false; {23410#false} is VALID [2022-04-08 10:30:08,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {23410#false} assume 0 == ~cond; {23410#false} is VALID [2022-04-08 10:30:08,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {23410#false} ~cond := #in~cond; {23410#false} is VALID [2022-04-08 10:30:08,830 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-08 10:30:08,830 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-08 10:30:08,830 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-08 10:30:08,831 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-08 10:30:08,831 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-08 10:30:08,831 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-08 10:30:08,832 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-08 10:30:08,832 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-08 10:30:08,832 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-08 10:30:08,832 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-08 10:30:08,833 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-08 10:30:08,833 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-08 10:30:08,833 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-08 10:30:08,833 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-08 10:30:08,834 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-08 10:30:08,835 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-08 10:30:08,835 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-08 10:30:08,835 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-08 10:30:08,835 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-08 10:30:08,836 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-08 10:30:08,836 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-08 10:30:08,837 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-08 10:30:08,837 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-08 10:30:08,837 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-08 10:30:08,838 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-08 10:30:08,838 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-08 10:30:08,838 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-08 10:30:08,839 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-08 10:30:08,839 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-08 10:30:08,840 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-08 10:30:08,840 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-08 10:30:08,840 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-08 10:30:08,841 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-08 10:30:08,841 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-08 10:30:08,841 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-08 10:30:08,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {23409#true} call #t~ret10 := main(); {23409#true} is VALID [2022-04-08 10:30:08,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23409#true} {23409#true} #117#return; {23409#true} is VALID [2022-04-08 10:30:08,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {23409#true} assume true; {23409#true} is VALID [2022-04-08 10:30:08,841 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-08 10:30:08,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {23409#true} call ULTIMATE.init(); {23409#true} is VALID [2022-04-08 10:30:08,841 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-08 10:30:08,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [893981220] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:08,841 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:08,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-08 10:30:08,842 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:08,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1768997145] [2022-04-08 10:30:08,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1768997145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:08,842 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:08,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:30:08,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [930097599] [2022-04-08 10:30:08,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:08,842 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-08 10:30:08,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:08,842 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-08 10:30:08,870 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-08 10:30:08,870 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:30:08,870 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:08,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:30:08,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-08 10:30:08,871 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-08 10:30:11,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:11,400 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-08 10:30:11,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:30:11,400 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-08 10:30:11,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:11,400 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-08 10:30:11,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 90 transitions. [2022-04-08 10:30:11,401 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-08 10:30:11,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 90 transitions. [2022-04-08 10:30:11,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 90 transitions. [2022-04-08 10:30:11,472 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-08 10:30:11,476 INFO L225 Difference]: With dead ends: 230 [2022-04-08 10:30:11,476 INFO L226 Difference]: Without dead ends: 215 [2022-04-08 10:30:11,477 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=161, Invalid=1171, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:30:11,478 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 99 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 623 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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-08 10:30:11,478 INFO L914 BasicCegarLoop]: 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-08 10:30:11,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-08 10:30:12,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 210. [2022-04-08 10:30:12,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:12,836 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-08 10:30:12,836 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-08 10:30:12,837 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-08 10:30:12,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:12,841 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-08 10:30:12,841 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-08 10:30:12,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:12,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:12,842 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-08 10:30:12,843 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-08 10:30:12,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:12,847 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-08 10:30:12,848 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-08 10:30:12,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:12,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:12,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:12,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:12,849 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-08 10:30:12,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 249 transitions. [2022-04-08 10:30:12,853 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 249 transitions. Word has length 43 [2022-04-08 10:30:12,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:12,854 INFO L478 AbstractCegarLoop]: Abstraction has 210 states and 249 transitions. [2022-04-08 10:30:12,854 INFO L479 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-08 10:30:12,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 210 states and 249 transitions. [2022-04-08 10:30:13,315 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-08 10:30:13,315 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 249 transitions. [2022-04-08 10:30:13,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:30:13,316 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:13,316 INFO L499 BasicCegarLoop]: 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-08 10:30:13,340 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-08 10:30:13,517 WARN L460 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-08 10:30:13,517 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:13,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:13,517 INFO L85 PathProgramCache]: Analyzing trace with hash 1804610186, now seen corresponding path program 41 times [2022-04-08 10:30:13,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:13,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1629696438] [2022-04-08 10:30:13,521 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:13,521 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:13,521 INFO L85 PathProgramCache]: Analyzing trace with hash 1804610186, now seen corresponding path program 42 times [2022-04-08 10:30:13,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:13,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [257458922] [2022-04-08 10:30:13,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:13,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:13,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:13,633 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:13,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:13,636 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-08 10:30:13,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-08 10:30:13,636 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-08 10:30:13,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:13,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:13,762 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-08 10:30:13,762 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-08 10:30:13,763 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-08 10:30:13,763 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-08 10:30:13,764 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-08 10:30:13,764 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-08 10:30:13,765 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-08 10:30:13,765 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-08 10:30:13,766 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-08 10:30:13,766 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-08 10:30:13,767 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-08 10:30:13,767 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-08 10:30:13,767 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-08 10:30:13,768 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-08 10:30:13,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:30:13,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:13,948 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-08 10:30:13,949 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-08 10:30:13,949 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-08 10:30:13,950 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-08 10:30:13,950 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-08 10:30:13,951 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-08 10:30:13,951 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-08 10:30:13,952 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-08 10:30:13,953 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-08 10:30:13,953 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-08 10:30:13,954 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-08 10:30:13,954 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-08 10:30:13,954 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-08 10:30:13,956 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-08 10:30:13,956 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-08 10:30:13,956 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-08 10:30:13,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-08 10:30:13,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-08 10:30:13,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-08 10:30:13,957 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-08 10:30:13,957 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-08 10:30:13,957 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-08 10:30:13,957 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-08 10:30:13,958 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-08 10:30:13,958 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-08 10:30:13,958 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-08 10:30:13,959 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-08 10:30:13,960 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-08 10:30:13,960 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-08 10:30:13,961 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-08 10:30:13,961 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-08 10:30:13,962 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-08 10:30:13,962 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-08 10:30:13,963 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-08 10:30:13,963 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-08 10:30:13,964 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-08 10:30:13,965 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-08 10:30:13,965 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-08 10:30:13,965 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-08 10:30:13,965 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-08 10:30:13,966 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-08 10:30:13,966 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-08 10:30:13,967 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-08 10:30:13,968 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-08 10:30:13,968 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-08 10:30:13,968 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-08 10:30:13,969 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-08 10:30:13,970 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-08 10:30:13,970 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-08 10:30:13,971 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-08 10:30:13,971 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-08 10:30:13,972 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-08 10:30:13,973 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-08 10:30:13,973 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-08 10:30:13,974 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-08 10:30:13,974 INFO L290 TraceCheckUtils]: 41: Hoare triple {25092#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25055#false} is VALID [2022-04-08 10:30:13,974 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-08 10:30:13,974 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-08 10:30:13,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:13,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [257458922] [2022-04-08 10:30:13,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [257458922] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:13,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1332873487] [2022-04-08 10:30:13,975 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:30:13,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:13,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:13,980 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-08 10:30:13,981 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-08 10:30:14,047 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-08 10:30:14,047 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:14,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:30:14,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:14,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:14,697 INFO L272 TraceCheckUtils]: 0: Hoare triple {25054#true} call ULTIMATE.init(); {25054#true} is VALID [2022-04-08 10:30:14,697 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-08 10:30:14,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-08 10:30:14,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-08 10:30:14,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-08 10:30:14,697 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-08 10:30:14,697 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-08 10:30:14,698 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-08 10:30:14,698 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-08 10:30:14,698 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-08 10:30:14,699 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-08 10:30:14,699 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-08 10:30:14,699 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-08 10:30:14,700 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-08 10:30:14,700 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-08 10:30:14,701 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-08 10:30:14,701 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-08 10:30:14,702 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-08 10:30:14,702 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-08 10:30:14,702 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-08 10:30:14,702 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-08 10:30:14,703 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-08 10:30:14,707 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-08 10:30:14,707 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-08 10:30:14,708 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-08 10:30:14,708 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-08 10:30:14,708 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-08 10:30:14,709 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-08 10:30:14,709 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-08 10:30:14,710 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-08 10:30:14,710 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-08 10:30:14,710 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-08 10:30:14,711 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-08 10:30:14,711 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-08 10:30:14,712 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-08 10:30:14,712 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-08 10:30:14,712 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-08 10:30:14,713 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-08 10:30:14,713 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-08 10:30:14,714 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-08 10:30:14,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25238#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:30:14,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {25238#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25055#false} is VALID [2022-04-08 10:30:14,715 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-08 10:30:14,715 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-08 10:30:14,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:15,152 INFO L290 TraceCheckUtils]: 42: Hoare triple {25055#false} assume !false; {25055#false} is VALID [2022-04-08 10:30:15,152 INFO L290 TraceCheckUtils]: 41: Hoare triple {25238#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25055#false} is VALID [2022-04-08 10:30:15,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {25234#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25238#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:30:15,153 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-08 10:30:15,154 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-08 10:30:15,154 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-08 10:30:15,155 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-08 10:30:15,155 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-08 10:30:15,155 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-08 10:30:15,156 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-08 10:30:15,156 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-08 10:30:15,157 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-08 10:30:15,157 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-08 10:30:15,158 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-08 10:30:15,158 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-08 10:30:15,158 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-08 10:30:15,159 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-08 10:30:15,159 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-08 10:30:15,159 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-08 10:30:15,160 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-08 10:30:15,160 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-08 10:30:15,161 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-08 10:30:15,161 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-08 10:30:15,161 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-08 10:30:15,162 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-08 10:30:15,162 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-08 10:30:15,163 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-08 10:30:15,163 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-08 10:30:15,163 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-08 10:30:15,164 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-08 10:30:15,164 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-08 10:30:15,165 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-08 10:30:15,165 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-08 10:30:15,165 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-08 10:30:15,166 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-08 10:30:15,166 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-08 10:30:15,166 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-08 10:30:15,166 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-08 10:30:15,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {25054#true} call #t~ret10 := main(); {25054#true} is VALID [2022-04-08 10:30:15,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25054#true} {25054#true} #117#return; {25054#true} is VALID [2022-04-08 10:30:15,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {25054#true} assume true; {25054#true} is VALID [2022-04-08 10:30:15,166 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-08 10:30:15,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {25054#true} call ULTIMATE.init(); {25054#true} is VALID [2022-04-08 10:30:15,166 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-08 10:30:15,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1332873487] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:15,166 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:15,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 31 [2022-04-08 10:30:15,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:15,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1629696438] [2022-04-08 10:30:15,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1629696438] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:15,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:15,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:30:15,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1515375983] [2022-04-08 10:30:15,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:15,167 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-08 10:30:15,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:15,168 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-08 10:30:15,195 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-08 10:30:15,195 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:30:15,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:15,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:30:15,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=857, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:30:15,196 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-08 10:30:18,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:18,681 INFO L93 Difference]: Finished difference Result 228 states and 271 transitions. [2022-04-08 10:30:18,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:30:18,681 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-08 10:30:18,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:18,681 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-08 10:30:18,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-08 10:30:18,683 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-08 10:30:18,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-08 10:30:18,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 96 transitions. [2022-04-08 10:30:18,762 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-08 10:30:18,765 INFO L225 Difference]: With dead ends: 228 [2022-04-08 10:30:18,765 INFO L226 Difference]: Without dead ends: 213 [2022-04-08 10:30:18,767 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 74 SyntacticMatches, 9 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 417 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=192, Invalid=2460, Unknown=0, NotChecked=0, Total=2652 [2022-04-08 10:30:18,767 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 1197 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:18,767 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 143 Invalid, 1226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 1197 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 10:30:18,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213 states. [2022-04-08 10:30:20,129 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 213 to 208. [2022-04-08 10:30:20,129 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:20,129 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-08 10:30:20,130 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-08 10:30:20,130 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-08 10:30:20,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:20,133 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-08 10:30:20,133 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-08 10:30:20,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:20,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:20,133 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-08 10:30:20,134 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-08 10:30:20,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:20,138 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-08 10:30:20,138 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-08 10:30:20,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:20,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:20,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:20,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:20,146 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-08 10:30:20,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 248 transitions. [2022-04-08 10:30:20,150 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 248 transitions. Word has length 43 [2022-04-08 10:30:20,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:20,150 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 248 transitions. [2022-04-08 10:30:20,150 INFO L479 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-08 10:30:20,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 248 transitions. [2022-04-08 10:30:20,520 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-08 10:30:20,520 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 248 transitions. [2022-04-08 10:30:20,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:30:20,521 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:20,521 INFO L499 BasicCegarLoop]: 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-08 10:30:20,537 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-08 10:30:20,723 WARN L460 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-08 10:30:20,723 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:20,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:20,723 INFO L85 PathProgramCache]: Analyzing trace with hash -2095538945, now seen corresponding path program 43 times [2022-04-08 10:30:20,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:20,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1097766964] [2022-04-08 10:30:20,726 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:20,726 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:20,726 INFO L85 PathProgramCache]: Analyzing trace with hash -2095538945, now seen corresponding path program 44 times [2022-04-08 10:30:20,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:20,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1944363321] [2022-04-08 10:30:20,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:20,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:20,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:20,774 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:20,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:20,777 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-08 10:30:20,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-08 10:30:20,777 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-08 10:30:20,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:20,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:20,859 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-08 10:30:20,860 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-08 10:30:20,860 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-08 10:30:20,861 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-08 10:30:20,861 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-08 10:30:20,861 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-08 10:30:20,862 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-08 10:30:20,862 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-08 10:30:20,862 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-08 10:30:20,863 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-08 10:30:20,863 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-08 10:30:20,863 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-08 10:30:20,864 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-08 10:30:20,864 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-08 10:30:20,865 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-08 10:30:20,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:30:20,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:20,961 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-08 10:30:20,962 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-08 10:30:20,963 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-08 10:30:20,964 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-08 10:30:20,964 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-08 10:30:20,964 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-08 10:30:20,965 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-08 10:30:20,965 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-08 10:30:20,965 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-08 10:30:20,966 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-08 10:30:20,966 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-08 10:30:20,966 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-08 10:30:20,967 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-08 10:30:20,967 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-08 10:30:20,968 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-08 10:30:20,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-08 10:30:20,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-08 10:30:20,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-08 10:30:20,968 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-08 10:30:20,969 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-08 10:30:20,969 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-08 10:30:20,969 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-08 10:30:20,969 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-08 10:30:20,970 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-08 10:30:20,971 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-08 10:30:20,971 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-08 10:30:20,971 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-08 10:30:20,972 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-08 10:30:20,972 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-08 10:30:20,972 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-08 10:30:20,973 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-08 10:30:20,973 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-08 10:30:20,973 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-08 10:30:20,974 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-08 10:30:20,974 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-08 10:30:20,975 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-08 10:30:20,975 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-08 10:30:20,975 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-08 10:30:20,976 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-08 10:30:20,976 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-08 10:30:20,977 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-08 10:30:20,977 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-08 10:30:20,978 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-08 10:30:20,978 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-08 10:30:20,978 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-08 10:30:20,978 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-08 10:30:20,979 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-08 10:30:20,979 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-08 10:30:20,979 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-08 10:30:20,979 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-08 10:30:20,980 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-08 10:30:20,980 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-08 10:30:20,980 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-08 10:30:20,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-08 10:30:20,981 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-08 10:30:20,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-08 10:30:20,981 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-08 10:30:20,981 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:20,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1944363321] [2022-04-08 10:30:20,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1944363321] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:20,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [629518340] [2022-04-08 10:30:20,981 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:20,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:20,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:20,983 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-08 10:30:20,983 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-08 10:30:21,038 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:30:21,038 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:21,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:30:21,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:21,058 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:21,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {26714#true} call ULTIMATE.init(); {26714#true} is VALID [2022-04-08 10:30:21,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-08 10:30:21,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-08 10:30:21,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-08 10:30:21,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-08 10:30:21,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-08 10:30:21,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-08 10:30:21,781 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-08 10:30:21,781 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-08 10:30:21,782 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-08 10:30:21,782 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-08 10:30:21,783 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-08 10:30:21,784 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-08 10:30:21,784 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-08 10:30:21,784 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-08 10:30:21,785 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-08 10:30:21,785 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-08 10:30:21,786 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-08 10:30:21,786 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-08 10:30:21,786 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-08 10:30:21,787 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-08 10:30:21,787 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-08 10:30:21,788 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-08 10:30:21,788 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-08 10:30:21,789 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-08 10:30:21,789 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-08 10:30:21,790 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-08 10:30:21,790 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-08 10:30:21,791 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-08 10:30:21,791 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-08 10:30:21,792 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-08 10:30:21,792 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-08 10:30:21,792 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-08 10:30:21,793 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-08 10:30:21,793 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-08 10:30:21,793 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-08 10:30:21,794 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-08 10:30:21,795 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-08 10:30:21,795 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-08 10:30:21,795 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-08 10:30:21,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-08 10:30:21,795 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-08 10:30:21,795 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-08 10:30:21,795 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-08 10:30:21,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:22,748 INFO L290 TraceCheckUtils]: 42: Hoare triple {26715#false} assume !false; {26715#false} is VALID [2022-04-08 10:30:22,748 INFO L290 TraceCheckUtils]: 41: Hoare triple {26715#false} assume 0 == ~cond; {26715#false} is VALID [2022-04-08 10:30:22,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {26715#false} ~cond := #in~cond; {26715#false} is VALID [2022-04-08 10:30:22,748 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-08 10:30:22,748 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-08 10:30:22,750 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-08 10:30:22,750 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-08 10:30:22,751 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-08 10:30:22,751 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-08 10:30:22,752 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-08 10:30:22,752 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-08 10:30:22,753 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-08 10:30:22,753 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-08 10:30:22,754 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-08 10:30:22,754 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-08 10:30:22,755 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-08 10:30:22,756 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-08 10:30:22,757 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-08 10:30:22,757 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-08 10:30:22,758 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-08 10:30:22,759 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-08 10:30:22,760 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-08 10:30:22,760 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-08 10:30:22,761 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-08 10:30:22,761 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-08 10:30:22,762 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-08 10:30:22,762 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-08 10:30:22,763 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-08 10:30:22,764 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-08 10:30:22,764 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-08 10:30:22,765 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-08 10:30:22,765 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-08 10:30:22,766 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-08 10:30:22,767 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-08 10:30:22,767 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-08 10:30:22,767 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-08 10:30:22,768 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-08 10:30:22,768 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-08 10:30:22,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {26714#true} call #t~ret10 := main(); {26714#true} is VALID [2022-04-08 10:30:22,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26714#true} {26714#true} #117#return; {26714#true} is VALID [2022-04-08 10:30:22,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {26714#true} assume true; {26714#true} is VALID [2022-04-08 10:30:22,768 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-08 10:30:22,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {26714#true} call ULTIMATE.init(); {26714#true} is VALID [2022-04-08 10:30:22,768 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-08 10:30:22,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [629518340] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:22,768 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:22,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-08 10:30:22,769 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:22,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1097766964] [2022-04-08 10:30:22,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1097766964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:22,769 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:22,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:30:22,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2073436724] [2022-04-08 10:30:22,769 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:22,770 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-08 10:30:22,770 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:22,770 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-08 10:30:22,797 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-08 10:30:22,797 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:30:22,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:22,798 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:30:22,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-08 10:30:22,798 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-08 10:30:25,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:25,423 INFO L93 Difference]: Finished difference Result 222 states and 261 transitions. [2022-04-08 10:30:25,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:30:25,423 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-08 10:30:25,423 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:25,423 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-08 10:30:25,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-08 10:30:25,424 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-08 10:30:25,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-08 10:30:25,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 89 transitions. [2022-04-08 10:30:25,506 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-08 10:30:25,509 INFO L225 Difference]: With dead ends: 222 [2022-04-08 10:30:25,509 INFO L226 Difference]: Without dead ends: 202 [2022-04-08 10:30:25,510 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=161, Invalid=1171, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:30:25,511 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 116 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 635 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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-08 10:30:25,511 INFO L914 BasicCegarLoop]: 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-08 10:30:25,511 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2022-04-08 10:30:26,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 200. [2022-04-08 10:30:26,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:26,849 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-08 10:30:26,850 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-08 10:30:26,850 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-08 10:30:26,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:26,852 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-08 10:30:26,852 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-08 10:30:26,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:26,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:26,853 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-08 10:30:26,853 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-08 10:30:26,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:26,857 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-08 10:30:26,857 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-08 10:30:26,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:26,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:26,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:26,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:26,858 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-08 10:30:26,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 236 transitions. [2022-04-08 10:30:26,862 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 236 transitions. Word has length 43 [2022-04-08 10:30:26,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:26,862 INFO L478 AbstractCegarLoop]: Abstraction has 200 states and 236 transitions. [2022-04-08 10:30:26,862 INFO L479 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-08 10:30:26,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 236 transitions. [2022-04-08 10:30:27,315 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-08 10:30:27,315 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 236 transitions. [2022-04-08 10:30:27,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:30:27,316 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:27,316 INFO L499 BasicCegarLoop]: 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-08 10:30:27,341 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-08 10:30:27,517 WARN L460 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-08 10:30:27,517 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:27,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:27,518 INFO L85 PathProgramCache]: Analyzing trace with hash -1133635601, now seen corresponding path program 45 times [2022-04-08 10:30:27,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:27,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1320317571] [2022-04-08 10:30:27,521 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:27,521 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:27,521 INFO L85 PathProgramCache]: Analyzing trace with hash -1133635601, now seen corresponding path program 46 times [2022-04-08 10:30:27,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:27,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [42251351] [2022-04-08 10:30:27,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:27,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:27,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:27,567 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:27,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:27,578 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-08 10:30:27,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-08 10:30:27,578 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-08 10:30:27,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:27,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:27,676 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-08 10:30:27,676 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-08 10:30:27,677 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-08 10:30:27,678 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-08 10:30:27,678 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-08 10:30:27,679 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-08 10:30:27,680 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-08 10:30:27,680 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-08 10:30:27,680 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-08 10:30:27,681 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-08 10:30:27,681 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-08 10:30:27,681 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-08 10:30:27,682 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-08 10:30:27,683 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-08 10:30:27,683 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:30:27,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:27,831 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-08 10:30:27,831 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-08 10:30:27,832 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-08 10:30:27,832 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-08 10:30:27,833 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-08 10:30:27,833 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-08 10:30:27,834 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-08 10:30:27,834 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-08 10:30:27,835 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-08 10:30:27,835 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-08 10:30:27,835 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-08 10:30:27,835 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-08 10:30:27,836 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-08 10:30:27,836 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-08 10:30:27,837 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-08 10:30:27,837 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-08 10:30:27,837 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-08 10:30:27,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-08 10:30:27,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-08 10:30:27,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-08 10:30:27,837 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-08 10:30:27,837 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-08 10:30:27,837 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-08 10:30:27,838 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-08 10:30:27,838 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-08 10:30:27,839 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-08 10:30:27,839 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-08 10:30:27,840 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-08 10:30:27,840 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-08 10:30:27,841 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-08 10:30:27,841 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-08 10:30:27,841 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-08 10:30:27,842 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-08 10:30:27,842 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-08 10:30:27,842 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-08 10:30:27,842 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-08 10:30:27,843 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-08 10:30:27,843 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-08 10:30:27,843 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-08 10:30:27,844 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-08 10:30:27,844 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-08 10:30:27,844 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-08 10:30:27,845 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-08 10:30:27,845 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-08 10:30:27,846 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-08 10:30:27,846 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-08 10:30:27,847 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-08 10:30:27,847 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-08 10:30:27,848 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-08 10:30:27,848 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-08 10:30:27,848 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-08 10:30:27,848 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-08 10:30:27,849 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-08 10:30:27,849 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-08 10:30:27,849 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-08 10:30:27,850 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-08 10:30:27,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-08 10:30:27,850 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-08 10:30:27,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-08 10:30:27,850 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-08 10:30:27,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:27,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [42251351] [2022-04-08 10:30:27,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [42251351] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:27,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [505096204] [2022-04-08 10:30:27,850 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:30:27,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:27,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:27,851 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-08 10:30:27,852 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-08 10:30:27,903 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:30:27,904 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:27,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:30:27,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:27,917 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:28,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {28297#true} call ULTIMATE.init(); {28297#true} is VALID [2022-04-08 10:30:28,858 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-08 10:30:28,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-08 10:30:28,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-08 10:30:28,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-08 10:30:28,858 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-08 10:30:28,858 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-08 10:30:28,858 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-08 10:30:28,858 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-08 10:30:28,859 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-08 10:30:28,859 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-08 10:30:28,860 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-08 10:30:28,860 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-08 10:30:28,861 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-08 10:30:28,861 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-08 10:30:28,862 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-08 10:30:28,862 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-08 10:30:28,862 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-08 10:30:28,862 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-08 10:30:28,863 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-08 10:30:28,863 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-08 10:30:28,864 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-08 10:30:28,864 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-08 10:30:28,864 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-08 10:30:28,864 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-08 10:30:28,865 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-08 10:30:28,865 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-08 10:30:28,866 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-08 10:30:28,866 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-08 10:30:28,867 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-08 10:30:28,867 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-08 10:30:28,868 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-08 10:30:28,868 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-08 10:30:28,868 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-08 10:30:28,869 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-08 10:30:28,869 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-08 10:30:28,869 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-08 10:30:28,869 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-08 10:30:28,870 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-08 10:30:28,870 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-08 10:30:28,870 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-08 10:30:28,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-08 10:30:28,870 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-08 10:30:28,870 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-08 10:30:28,871 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-08 10:30:28,871 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:30,265 INFO L290 TraceCheckUtils]: 43: Hoare triple {28298#false} assume !false; {28298#false} is VALID [2022-04-08 10:30:30,265 INFO L290 TraceCheckUtils]: 42: Hoare triple {28298#false} assume 0 == ~cond; {28298#false} is VALID [2022-04-08 10:30:30,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {28298#false} ~cond := #in~cond; {28298#false} is VALID [2022-04-08 10:30:30,266 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-08 10:30:30,266 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-08 10:30:30,266 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-08 10:30:30,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-08 10:30:30,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-08 10:30:30,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-08 10:30:30,267 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-08 10:30:30,268 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-08 10:30:30,268 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-08 10:30:30,268 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-08 10:30:30,269 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-08 10:30:30,269 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-08 10:30:30,270 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-08 10:30:30,271 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-08 10:30:30,271 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-08 10:30:30,271 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-08 10:30:30,272 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-08 10:30:30,272 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-08 10:30:30,272 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-08 10:30:30,276 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-08 10:30:30,276 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-08 10:30:30,277 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-08 10:30:30,277 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-08 10:30:30,277 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-08 10:30:30,278 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-08 10:30:30,278 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-08 10:30:30,279 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-08 10:30:30,280 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-08 10:30:30,280 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-08 10:30:30,281 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-08 10:30:30,282 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-08 10:30:30,282 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-08 10:30:30,283 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-08 10:30:30,283 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-08 10:30:30,283 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-08 10:30:30,283 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-08 10:30:30,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {28297#true} call #t~ret10 := main(); {28297#true} is VALID [2022-04-08 10:30:30,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28297#true} {28297#true} #117#return; {28297#true} is VALID [2022-04-08 10:30:30,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {28297#true} assume true; {28297#true} is VALID [2022-04-08 10:30:30,283 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-08 10:30:30,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {28297#true} call ULTIMATE.init(); {28297#true} is VALID [2022-04-08 10:30:30,284 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-08 10:30:30,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [505096204] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:30,284 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:30,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-08 10:30:30,284 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:30,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1320317571] [2022-04-08 10:30:30,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1320317571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:30,284 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:30,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:30:30,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969161269] [2022-04-08 10:30:30,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:30,285 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-08 10:30:30,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:30,285 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-08 10:30:30,322 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-08 10:30:30,322 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:30:30,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:30,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:30:30,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:30:30,323 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-08 10:30:34,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:34,152 INFO L93 Difference]: Finished difference Result 244 states and 289 transitions. [2022-04-08 10:30:34,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 10:30:34,152 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-08 10:30:34,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:34,152 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-08 10:30:34,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2022-04-08 10:30:34,153 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-08 10:30:34,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 114 transitions. [2022-04-08 10:30:34,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 114 transitions. [2022-04-08 10:30:34,243 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-08 10:30:34,247 INFO L225 Difference]: With dead ends: 244 [2022-04-08 10:30:34,247 INFO L226 Difference]: Without dead ends: 230 [2022-04-08 10:30:34,248 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 302 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=203, Invalid=2247, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 10:30:34,249 INFO L913 BasicCegarLoop]: 66 mSDtfsCounter, 126 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 1248 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:34,249 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [134 Valid, 138 Invalid, 1266 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 1248 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 10:30:34,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-08 10:30:35,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 221. [2022-04-08 10:30:35,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:35,836 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-08 10:30:35,836 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-08 10:30:35,836 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-08 10:30:35,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:35,840 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-08 10:30:35,840 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-08 10:30:35,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:35,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:35,840 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-08 10:30:35,841 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-08 10:30:35,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:35,845 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-08 10:30:35,845 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-08 10:30:35,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:35,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:35,846 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:35,846 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:35,846 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-08 10:30:35,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 262 transitions. [2022-04-08 10:30:35,851 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 262 transitions. Word has length 44 [2022-04-08 10:30:35,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:35,851 INFO L478 AbstractCegarLoop]: Abstraction has 221 states and 262 transitions. [2022-04-08 10:30:35,851 INFO L479 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-08 10:30:35,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 262 transitions. [2022-04-08 10:30:36,300 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-08 10:30:36,301 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 262 transitions. [2022-04-08 10:30:36,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:30:36,302 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:36,302 INFO L499 BasicCegarLoop]: 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-08 10:30:36,320 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-08 10:30:36,503 WARN L460 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-08 10:30:36,503 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:36,503 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:36,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1915733740, now seen corresponding path program 47 times [2022-04-08 10:30:36,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:36,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1077336591] [2022-04-08 10:30:36,507 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:36,507 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:36,507 INFO L85 PathProgramCache]: Analyzing trace with hash 1915733740, now seen corresponding path program 48 times [2022-04-08 10:30:36,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:36,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058360650] [2022-04-08 10:30:36,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:36,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:36,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:36,540 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:36,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:36,543 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-08 10:30:36,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-08 10:30:36,543 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-08 10:30:36,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:36,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:36,645 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-08 10:30:36,645 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-08 10:30:36,646 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-08 10:30:36,646 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-08 10:30:36,647 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-08 10:30:36,647 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-08 10:30:36,648 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-08 10:30:36,648 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-08 10:30:36,648 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-08 10:30:36,649 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-08 10:30:36,649 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-08 10:30:36,649 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-08 10:30:36,650 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-08 10:30:36,650 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-08 10:30:36,650 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-08 10:30:36,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:30:36,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:36,765 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-08 10:30:36,765 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-08 10:30:36,766 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-08 10:30:36,766 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-08 10:30:36,767 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-08 10:30:36,767 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-08 10:30:36,768 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-08 10:30:36,768 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-08 10:30:36,768 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-08 10:30:36,769 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-08 10:30:36,769 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-08 10:30:36,769 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-08 10:30:36,769 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-08 10:30:36,770 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-08 10:30:36,771 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-08 10:30:36,771 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-08 10:30:36,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-08 10:30:36,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-08 10:30:36,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-08 10:30:36,771 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-08 10:30:36,771 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-08 10:30:36,771 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-08 10:30:36,771 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-08 10:30:36,772 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-08 10:30:36,772 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-08 10:30:36,773 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-08 10:30:36,773 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-08 10:30:36,774 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-08 10:30:36,774 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-08 10:30:36,775 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-08 10:30:36,775 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-08 10:30:36,775 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-08 10:30:36,776 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-08 10:30:36,776 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-08 10:30:36,776 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-08 10:30:36,776 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-08 10:30:36,777 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-08 10:30:36,777 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-08 10:30:36,777 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-08 10:30:36,784 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-08 10:30:36,784 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-08 10:30:36,785 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-08 10:30:36,785 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-08 10:30:36,786 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-08 10:30:36,786 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-08 10:30:36,787 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-08 10:30:36,787 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-08 10:30:36,787 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-08 10:30:36,788 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-08 10:30:36,788 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-08 10:30:36,788 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-08 10:30:36,789 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-08 10:30:36,789 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-08 10:30:36,789 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-08 10:30:36,789 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-08 10:30:36,789 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-08 10:30:36,790 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-08 10:30:36,790 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-08 10:30:36,790 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-08 10:30:36,790 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:36,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058360650] [2022-04-08 10:30:36,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1058360650] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:36,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1419899531] [2022-04-08 10:30:36,790 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:30:36,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:36,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:36,791 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-08 10:30:36,792 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-08 10:30:36,857 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:30:36,857 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:36,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:30:36,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:36,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:37,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {30045#true} call ULTIMATE.init(); {30045#true} is VALID [2022-04-08 10:30:37,774 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-08 10:30:37,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-08 10:30:37,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-08 10:30:37,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-08 10:30:37,775 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-08 10:30:37,775 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-08 10:30:37,775 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-08 10:30:37,775 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-08 10:30:37,776 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-08 10:30:37,776 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-08 10:30:37,777 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-08 10:30:37,777 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-08 10:30:37,778 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-08 10:30:37,778 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-08 10:30:37,779 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-08 10:30:37,779 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-08 10:30:37,779 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-08 10:30:37,780 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-08 10:30:37,780 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-08 10:30:37,780 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-08 10:30:37,781 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-08 10:30:37,781 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-08 10:30:37,782 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-08 10:30:37,782 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-08 10:30:37,782 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-08 10:30:37,782 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-08 10:30:37,783 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-08 10:30:37,783 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-08 10:30:37,784 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-08 10:30:37,784 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-08 10:30:37,785 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-08 10:30:37,785 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-08 10:30:37,786 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-08 10:30:37,786 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-08 10:30:37,786 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-08 10:30:37,786 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-08 10:30:37,787 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-08 10:30:37,788 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-08 10:30:37,788 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-08 10:30:37,788 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-08 10:30:37,788 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-08 10:30:37,788 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-08 10:30:37,788 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-08 10:30:37,788 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-08 10:30:37,788 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:39,094 INFO L290 TraceCheckUtils]: 43: Hoare triple {30046#false} assume !false; {30046#false} is VALID [2022-04-08 10:30:39,094 INFO L290 TraceCheckUtils]: 42: Hoare triple {30046#false} assume 0 == ~cond; {30046#false} is VALID [2022-04-08 10:30:39,094 INFO L290 TraceCheckUtils]: 41: Hoare triple {30046#false} ~cond := #in~cond; {30046#false} is VALID [2022-04-08 10:30:39,094 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-08 10:30:39,094 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-08 10:30:39,095 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-08 10:30:39,096 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-08 10:30:39,096 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-08 10:30:39,096 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-08 10:30:39,096 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-08 10:30:39,097 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-08 10:30:39,097 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-08 10:30:39,098 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-08 10:30:39,098 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-08 10:30:39,099 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-08 10:30:39,099 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-08 10:30:39,100 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-08 10:30:39,100 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-08 10:30:39,100 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-08 10:30:39,101 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-08 10:30:39,101 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-08 10:30:39,102 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-08 10:30:39,102 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-08 10:30:39,102 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-08 10:30:39,102 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-08 10:30:39,103 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-08 10:30:39,103 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-08 10:30:39,103 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-08 10:30:39,104 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-08 10:30:39,104 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-08 10:30:39,105 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-08 10:30:39,105 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-08 10:30:39,106 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-08 10:30:39,106 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-08 10:30:39,107 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-08 10:30:39,107 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-08 10:30:39,107 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-08 10:30:39,107 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-08 10:30:39,107 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-08 10:30:39,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {30045#true} call #t~ret10 := main(); {30045#true} is VALID [2022-04-08 10:30:39,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30045#true} {30045#true} #117#return; {30045#true} is VALID [2022-04-08 10:30:39,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {30045#true} assume true; {30045#true} is VALID [2022-04-08 10:30:39,108 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-08 10:30:39,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {30045#true} call ULTIMATE.init(); {30045#true} is VALID [2022-04-08 10:30:39,108 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-08 10:30:39,108 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1419899531] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:39,108 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:39,108 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-08 10:30:39,108 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:39,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1077336591] [2022-04-08 10:30:39,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1077336591] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:39,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:39,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:30:39,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1982308729] [2022-04-08 10:30:39,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:39,109 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-08 10:30:39,109 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:39,109 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-08 10:30:39,140 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-08 10:30:39,140 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:30:39,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:39,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:30:39,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:30:39,141 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-08 10:30:43,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,011 INFO L93 Difference]: Finished difference Result 236 states and 277 transitions. [2022-04-08 10:30:43,011 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 10:30:43,011 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-08 10:30:43,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:43,011 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-08 10:30:43,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-08 10:30:43,012 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-08 10:30:43,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-08 10:30:43,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 113 transitions. [2022-04-08 10:30:43,138 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-08 10:30:43,143 INFO L225 Difference]: With dead ends: 236 [2022-04-08 10:30:43,143 INFO L226 Difference]: Without dead ends: 224 [2022-04-08 10:30:43,145 INFO L912 BasicCegarLoop]: 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-08 10:30:43,145 INFO L913 BasicCegarLoop]: 68 mSDtfsCounter, 131 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 1275 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:43,145 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [140 Valid, 140 Invalid, 1292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 1275 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 10:30:43,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-08 10:30:44,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-08 10:30:44,827 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:44,828 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-08 10:30:44,828 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-08 10:30:44,828 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-08 10:30:44,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:44,831 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-08 10:30:44,831 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-08 10:30:44,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:44,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:44,832 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-08 10:30:44,832 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-08 10:30:44,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:44,836 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-08 10:30:44,836 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-08 10:30:44,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:44,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:44,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:44,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:44,837 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-08 10:30:44,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 261 transitions. [2022-04-08 10:30:44,842 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 261 transitions. Word has length 44 [2022-04-08 10:30:44,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:44,842 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 261 transitions. [2022-04-08 10:30:44,842 INFO L479 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-08 10:30:44,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 261 transitions. [2022-04-08 10:30:45,275 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-08 10:30:45,275 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 261 transitions. [2022-04-08 10:30:45,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:30:45,276 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:45,276 INFO L499 BasicCegarLoop]: 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-08 10:30:45,293 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-08 10:30:45,477 WARN L460 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-08 10:30:45,477 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:45,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:45,477 INFO L85 PathProgramCache]: Analyzing trace with hash -1794700818, now seen corresponding path program 49 times [2022-04-08 10:30:45,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:45,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2124136768] [2022-04-08 10:30:45,480 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:45,480 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:45,480 INFO L85 PathProgramCache]: Analyzing trace with hash -1794700818, now seen corresponding path program 50 times [2022-04-08 10:30:45,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:45,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149854875] [2022-04-08 10:30:45,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:45,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:45,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:45,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,516 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-08 10:30:45,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,516 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-08 10:30:45,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:45,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,570 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-08 10:30:45,571 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-08 10:30:45,571 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-08 10:30:45,572 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-08 10:30:45,572 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-08 10:30:45,573 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-08 10:30:45,573 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-08 10:30:45,573 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-08 10:30:45,574 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-08 10:30:45,574 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-08 10:30:45,575 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-08 10:30:45,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-08 10:30:45,575 INFO L290 TraceCheckUtils]: 12: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-08 10:30:45,575 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-08 10:30:45,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 10:30:45,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,582 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-08 10:30:45,582 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-08 10:30:45,582 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-08 10:30:45,582 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-08 10:30:45,582 INFO L290 TraceCheckUtils]: 4: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-08 10:30:45,582 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-08 10:30:45,582 INFO L290 TraceCheckUtils]: 6: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-08 10:30:45,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-08 10:30:45,583 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-08 10:30:45,583 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-08 10:30:45,583 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-08 10:30:45,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-08 10:30:45,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-08 10:30:45,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,583 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-08 10:30:45,584 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-08 10:30:45,584 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-08 10:30:45,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-08 10:30:45,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-08 10:30:45,584 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-08 10:30:45,584 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-08 10:30:45,584 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-08 10:30:45,585 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-08 10:30:45,585 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-08 10:30:45,586 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-08 10:30:45,586 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-08 10:30:45,586 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-08 10:30:45,587 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-08 10:30:45,587 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-08 10:30:45,587 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-08 10:30:45,588 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-08 10:30:45,588 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-08 10:30:45,589 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-08 10:30:45,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-08 10:30:45,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-08 10:30:45,589 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-08 10:30:45,589 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-08 10:30:45,589 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-08 10:30:45,589 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-08 10:30:45,589 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-08 10:30:45,589 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-08 10:30:45,589 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-08 10:30:45,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-08 10:30:45,590 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-08 10:30:45,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-08 10:30:45,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-08 10:30:45,590 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-08 10:30:45,590 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-08 10:30:45,590 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-08 10:30:45,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-08 10:30:45,590 INFO L290 TraceCheckUtils]: 36: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-08 10:30:45,590 INFO L290 TraceCheckUtils]: 37: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,590 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-08 10:30:45,590 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-08 10:30:45,591 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-08 10:30:45,591 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-08 10:30:45,591 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-08 10:30:45,591 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-08 10:30:45,591 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-08 10:30:45,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:45,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149854875] [2022-04-08 10:30:45,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1149854875] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:45,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [626317878] [2022-04-08 10:30:45,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:45,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:45,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:45,595 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-08 10:30:45,624 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-08 10:30:45,669 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:30:45,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:45,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 10:30:45,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:45,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {31767#true} call ULTIMATE.init(); {31767#true} is VALID [2022-04-08 10:30:45,839 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-08 10:30:45,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-08 10:30:45,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-08 10:30:45,839 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-08 10:30:45,839 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-08 10:30:45,839 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-08 10:30:45,840 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-08 10:30:45,840 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-08 10:30:45,840 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-08 10:30:45,841 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-08 10:30:45,841 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-08 10:30:45,841 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-08 10:30:45,842 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-08 10:30:45,842 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-08 10:30:45,842 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-08 10:30:45,843 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-08 10:30:45,843 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-08 10:30:45,843 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-08 10:30:45,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-08 10:30:45,843 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 INFO L290 TraceCheckUtils]: 28: Hoare triple {31768#false} assume !(~b~1 < ~n); {31768#false} is VALID [2022-04-08 10:30:45,844 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-08 10:30:45,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {31768#false} assume !(~l~1 < ~m); {31768#false} is VALID [2022-04-08 10:30:45,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {31768#false} ~x~1 := 0;~y~1 := 0; {31768#false} is VALID [2022-04-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 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-08 10:30:45,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {31768#false} assume !(~x~1 < ~i~1); {31768#false} is VALID [2022-04-08 10:30:45,844 INFO L290 TraceCheckUtils]: 36: Hoare triple {31768#false} #res := ~y~1; {31768#false} is VALID [2022-04-08 10:30:45,844 INFO L290 TraceCheckUtils]: 37: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-08 10:30:45,844 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31768#false} {31768#false} #113#return; {31768#false} is VALID [2022-04-08 10:30:45,844 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-08 10:30:45,845 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-08 10:30:45,845 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-08 10:30:45,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-08 10:30:45,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-08 10:30:45,845 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-08 10:30:45,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:45,985 INFO L290 TraceCheckUtils]: 43: Hoare triple {31768#false} assume !false; {31768#false} is VALID [2022-04-08 10:30:45,985 INFO L290 TraceCheckUtils]: 42: Hoare triple {31768#false} assume 0 == ~cond; {31768#false} is VALID [2022-04-08 10:30:45,985 INFO L290 TraceCheckUtils]: 41: Hoare triple {31768#false} ~cond := #in~cond; {31768#false} is VALID [2022-04-08 10:30:45,985 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-08 10:30:45,986 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-08 10:30:45,986 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {31767#true} {31768#false} #113#return; {31768#false} is VALID [2022-04-08 10:30:45,986 INFO L290 TraceCheckUtils]: 37: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,986 INFO L290 TraceCheckUtils]: 36: Hoare triple {31767#true} #res := ~y~1; {31767#true} is VALID [2022-04-08 10:30:45,986 INFO L290 TraceCheckUtils]: 35: Hoare triple {31767#true} assume !(~x~1 < ~i~1); {31767#true} is VALID [2022-04-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {31767#true} ~x~1 := 0;~y~1 := 0; {31767#true} is VALID [2022-04-08 10:30:45,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {31767#true} assume !(~l~1 < ~m); {31767#true} is VALID [2022-04-08 10:30:45,986 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-08 10:30:45,986 INFO L290 TraceCheckUtils]: 28: Hoare triple {31767#true} assume !(~b~1 < ~n); {31767#true} is VALID [2022-04-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,986 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-08 10:30:45,987 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31768#false} {31767#true} #111#return; {31768#false} is VALID [2022-04-08 10:30:45,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {31768#false} assume true; {31768#false} is VALID [2022-04-08 10:30:45,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {31768#false} #res := ~y~0; {31768#false} is VALID [2022-04-08 10:30:45,987 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-08 10:30:45,987 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-08 10:30:45,988 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-08 10:30:45,988 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-08 10:30:45,989 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-08 10:30:45,989 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-08 10:30:45,989 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-08 10:30:45,990 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-08 10:30:45,990 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-08 10:30:45,990 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-08 10:30:45,991 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-08 10:30:45,991 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-08 10:30:45,991 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-08 10:30:45,991 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-08 10:30:45,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {31767#true} call #t~ret10 := main(); {31767#true} is VALID [2022-04-08 10:30:45,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31767#true} {31767#true} #117#return; {31767#true} is VALID [2022-04-08 10:30:45,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {31767#true} assume true; {31767#true} is VALID [2022-04-08 10:30:45,991 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-08 10:30:45,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {31767#true} call ULTIMATE.init(); {31767#true} is VALID [2022-04-08 10:30:45,991 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-08 10:30:45,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [626317878] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:45,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:45,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-08 10:30:45,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:45,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2124136768] [2022-04-08 10:30:45,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2124136768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:45,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:45,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 10:30:45,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1928692482] [2022-04-08 10:30:45,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:45,992 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-08 10:30:45,992 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:45,993 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-08 10:30:46,017 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-08 10:30:46,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 10:30:46,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:46,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 10:30:46,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:30:46,018 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-08 10:30:48,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:48,122 INFO L93 Difference]: Finished difference Result 339 states and 391 transitions. [2022-04-08 10:30:48,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:30:48,122 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-08 10:30:48,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:48,122 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-08 10:30:48,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-08 10:30:48,123 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-08 10:30:48,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-08 10:30:48,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 84 transitions. [2022-04-08 10:30:48,199 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-08 10:30:48,204 INFO L225 Difference]: With dead ends: 339 [2022-04-08 10:30:48,204 INFO L226 Difference]: Without dead ends: 215 [2022-04-08 10:30:48,206 INFO L912 BasicCegarLoop]: 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-08 10:30:48,206 INFO L913 BasicCegarLoop]: 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-08 10:30:48,207 INFO L914 BasicCegarLoop]: 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-08 10:30:48,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-08 10:30:49,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 207. [2022-04-08 10:30:49,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:49,714 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-08 10:30:49,715 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-08 10:30:49,715 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-08 10:30:49,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:49,719 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-08 10:30:49,719 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-08 10:30:49,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:49,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:49,720 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-08 10:30:49,720 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-08 10:30:49,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:49,724 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-08 10:30:49,724 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-08 10:30:49,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:49,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:49,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:49,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:49,725 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-08 10:30:49,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 240 transitions. [2022-04-08 10:30:49,730 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 240 transitions. Word has length 44 [2022-04-08 10:30:49,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:49,730 INFO L478 AbstractCegarLoop]: Abstraction has 207 states and 240 transitions. [2022-04-08 10:30:49,730 INFO L479 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-08 10:30:49,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 240 transitions. [2022-04-08 10:30:50,225 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-08 10:30:50,225 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 240 transitions. [2022-04-08 10:30:50,226 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:30:50,226 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:50,226 INFO L499 BasicCegarLoop]: 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-08 10:30:50,251 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-08 10:30:50,426 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-08 10:30:50,427 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:50,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:50,427 INFO L85 PathProgramCache]: Analyzing trace with hash 1255089933, now seen corresponding path program 51 times [2022-04-08 10:30:50,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:50,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1104288994] [2022-04-08 10:30:50,430 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:50,430 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:50,430 INFO L85 PathProgramCache]: Analyzing trace with hash 1255089933, now seen corresponding path program 52 times [2022-04-08 10:30:50,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:50,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [287356767] [2022-04-08 10:30:50,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:50,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:50,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:50,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,461 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-08 10:30:50,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,461 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-08 10:30:50,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:50,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,467 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-08 10:30:50,467 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-08 10:30:50,467 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-08 10:30:50,468 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-08 10:30:50,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-08 10:30:50,468 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-08 10:30:50,468 INFO L290 TraceCheckUtils]: 6: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-08 10:30:50,468 INFO L290 TraceCheckUtils]: 7: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-08 10:30:50,468 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-08 10:30:50,468 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-08 10:30:50,468 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-08 10:30:50,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-08 10:30:50,468 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-08 10:30:50,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,468 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-08 10:30:50,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:30:50,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,517 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-08 10:30:50,518 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-08 10:30:50,518 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-08 10:30:50,519 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-08 10:30:50,519 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-08 10:30:50,520 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-08 10:30:50,520 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-08 10:30:50,520 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-08 10:30:50,521 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-08 10:30:50,521 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-08 10:30:50,522 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-08 10:30:50,522 INFO L290 TraceCheckUtils]: 11: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-08 10:30:50,522 INFO L290 TraceCheckUtils]: 12: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-08 10:30:50,522 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-08 10:30:50,523 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-08 10:30:50,523 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-08 10:30:50,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,523 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-08 10:30:50,523 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-08 10:30:50,523 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-08 10:30:50,523 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-08 10:30:50,523 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-08 10:30:50,523 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-08 10:30:50,523 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-08 10:30:50,524 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-08 10:30:50,524 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-08 10:30:50,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-08 10:30:50,524 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-08 10:30:50,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-08 10:30:50,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-08 10:30:50,524 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-08 10:30:50,524 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-08 10:30:50,524 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-08 10:30:50,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-08 10:30:50,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-08 10:30:50,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,525 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-08 10:30:50,525 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-08 10:30:50,525 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-08 10:30:50,525 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-08 10:30:50,526 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-08 10:30:50,526 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-08 10:30:50,527 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-08 10:30:50,527 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-08 10:30:50,527 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-08 10:30:50,527 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-08 10:30:50,528 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-08 10:30:50,528 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-08 10:30:50,529 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-08 10:30:50,529 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-08 10:30:50,529 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-08 10:30:50,529 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-08 10:30:50,529 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-08 10:30:50,530 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-08 10:30:50,530 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-08 10:30:50,530 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-08 10:30:50,530 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-08 10:30:50,530 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-08 10:30:50,530 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-08 10:30:50,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:50,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [287356767] [2022-04-08 10:30:50,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [287356767] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:50,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1600030172] [2022-04-08 10:30:50,530 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:30:50,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:50,531 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:50,536 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-08 10:30:50,539 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-08 10:30:50,607 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:30:50,607 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:50,608 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 10:30:50,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,619 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:50,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {33617#true} call ULTIMATE.init(); {33617#true} is VALID [2022-04-08 10:30:50,786 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-08 10:30:50,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-08 10:30:50,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 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-08 10:30:50,786 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-08 10:30:50,787 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-08 10:30:50,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-08 10:30:50,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-08 10:30:50,787 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-08 10:30:50,787 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-08 10:30:50,787 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-08 10:30:50,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-08 10:30:50,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-08 10:30:50,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,787 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-08 10:30:50,787 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-08 10:30:50,787 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-08 10:30:50,788 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-08 10:30:50,788 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-08 10:30:50,789 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-08 10:30:50,789 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-08 10:30:50,790 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-08 10:30:50,790 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-08 10:30:50,790 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-08 10:30:50,791 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-08 10:30:50,791 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-08 10:30:50,792 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-08 10:30:50,792 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-08 10:30:50,792 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-08 10:30:50,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-08 10:30:50,792 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-08 10:30:50,792 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-08 10:30:50,792 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-08 10:30:50,793 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-08 10:30:50,793 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-08 10:30:50,793 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-08 10:30:50,793 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-08 10:30:50,793 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:50,940 INFO L290 TraceCheckUtils]: 43: Hoare triple {33618#false} assume !false; {33618#false} is VALID [2022-04-08 10:30:50,940 INFO L290 TraceCheckUtils]: 42: Hoare triple {33618#false} assume 0 == ~cond; {33618#false} is VALID [2022-04-08 10:30:50,940 INFO L290 TraceCheckUtils]: 41: Hoare triple {33618#false} ~cond := #in~cond; {33618#false} is VALID [2022-04-08 10:30:50,940 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-08 10:30:50,940 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-08 10:30:50,940 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {33618#false} {33617#true} #113#return; {33618#false} is VALID [2022-04-08 10:30:50,940 INFO L290 TraceCheckUtils]: 37: Hoare triple {33618#false} assume true; {33618#false} is VALID [2022-04-08 10:30:50,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {33618#false} #res := ~y~1; {33618#false} is VALID [2022-04-08 10:30:50,941 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-08 10:30:50,942 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-08 10:30:50,942 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-08 10:30:50,942 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-08 10:30:50,943 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-08 10:30:50,943 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-08 10:30:50,943 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-08 10:30:50,944 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-08 10:30:50,944 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-08 10:30:50,945 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-08 10:30:50,945 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-08 10:30:50,945 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-08 10:30:50,945 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-08 10:30:50,945 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33617#true} {33617#true} #111#return; {33617#true} is VALID [2022-04-08 10:30:50,946 INFO L290 TraceCheckUtils]: 21: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {33617#true} #res := ~y~0; {33617#true} is VALID [2022-04-08 10:30:50,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {33617#true} assume !(~x~0 < ~i~0); {33617#true} is VALID [2022-04-08 10:30:50,946 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-08 10:30:50,946 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-08 10:30:50,946 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-08 10:30:50,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {33617#true} ~x~0 := 0;~y~0 := 0; {33617#true} is VALID [2022-04-08 10:30:50,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {33617#true} assume !(~l~0 < ~m); {33617#true} is VALID [2022-04-08 10:30:50,946 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-08 10:30:50,946 INFO L290 TraceCheckUtils]: 12: Hoare triple {33617#true} assume !(~b~0 < ~n); {33617#true} is VALID [2022-04-08 10:30:50,946 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-08 10:30:50,946 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-08 10:30:50,946 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-08 10:30:50,947 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-08 10:30:50,947 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-08 10:30:50,947 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-08 10:30:50,947 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-08 10:30:50,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {33617#true} call #t~ret10 := main(); {33617#true} is VALID [2022-04-08 10:30:50,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33617#true} {33617#true} #117#return; {33617#true} is VALID [2022-04-08 10:30:50,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {33617#true} assume true; {33617#true} is VALID [2022-04-08 10:30:50,947 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-08 10:30:50,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {33617#true} call ULTIMATE.init(); {33617#true} is VALID [2022-04-08 10:30:50,947 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-08 10:30:50,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1600030172] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:50,948 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:50,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-08 10:30:50,948 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:50,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1104288994] [2022-04-08 10:30:50,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1104288994] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:50,948 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:50,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 10:30:50,948 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1510192837] [2022-04-08 10:30:50,948 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:50,949 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-08 10:30:50,949 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:50,949 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-08 10:30:50,987 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-08 10:30:50,987 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 10:30:50,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:50,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 10:30:50,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:30:50,988 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-08 10:30:52,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:52,924 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-04-08 10:30:52,924 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:30:52,924 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-08 10:30:52,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:52,924 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-08 10:30:52,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:30:52,925 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-08 10:30:52,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-08 10:30:52,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-08 10:30:52,979 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-08 10:30:52,983 INFO L225 Difference]: With dead ends: 233 [2022-04-08 10:30:52,983 INFO L226 Difference]: Without dead ends: 212 [2022-04-08 10:30:52,984 INFO L912 BasicCegarLoop]: 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-08 10:30:52,985 INFO L913 BasicCegarLoop]: 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-08 10:30:52,985 INFO L914 BasicCegarLoop]: 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-08 10:30:52,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-08 10:30:54,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-08 10:30:54,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:54,572 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-08 10:30:54,572 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-08 10:30:54,572 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-08 10:30:54,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:54,576 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-08 10:30:54,576 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-08 10:30:54,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:54,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:54,577 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-08 10:30:54,577 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-08 10:30:54,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:54,581 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-08 10:30:54,581 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-08 10:30:54,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:54,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:54,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:54,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:54,582 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-08 10:30:54,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 245 transitions. [2022-04-08 10:30:54,586 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 245 transitions. Word has length 44 [2022-04-08 10:30:54,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:54,586 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 245 transitions. [2022-04-08 10:30:54,586 INFO L479 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-08 10:30:54,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 245 transitions. [2022-04-08 10:30:55,003 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-08 10:30:55,003 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-08 10:30:55,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 10:30:55,004 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:55,004 INFO L499 BasicCegarLoop]: 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-08 10:30:55,020 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Ended with exit code 0 [2022-04-08 10:30:55,204 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable35 [2022-04-08 10:30:55,204 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:55,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:55,205 INFO L85 PathProgramCache]: Analyzing trace with hash -1761268627, now seen corresponding path program 53 times [2022-04-08 10:30:55,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:55,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1233472876] [2022-04-08 10:30:55,207 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:55,207 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:55,207 INFO L85 PathProgramCache]: Analyzing trace with hash -1761268627, now seen corresponding path program 54 times [2022-04-08 10:30:55,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:55,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1198173135] [2022-04-08 10:30:55,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:55,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:55,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:55,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:55,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:55,315 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-08 10:30:55,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-08 10:30:55,316 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-08 10:30:55,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:55,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:55,487 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-08 10:30:55,487 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-08 10:30:55,488 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-08 10:30:55,488 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-08 10:30:55,489 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-08 10:30:55,490 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-08 10:30:55,490 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-08 10:30:55,491 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-08 10:30:55,491 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-08 10:30:55,492 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-08 10:30:55,492 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-08 10:30:55,493 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-08 10:30:55,493 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-08 10:30:55,493 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-08 10:30:55,494 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-08 10:30:55,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:30:55,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:55,738 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-08 10:30:55,738 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-08 10:30:55,739 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-08 10:30:55,739 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-08 10:30:55,740 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-08 10:30:55,741 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-08 10:30:55,741 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-08 10:30:55,742 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-08 10:30:55,742 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-08 10:30:55,743 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-08 10:30:55,743 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-08 10:30:55,744 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-08 10:30:55,744 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-08 10:30:55,745 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-08 10:30:55,746 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-08 10:30:55,746 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-08 10:30:55,746 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-08 10:30:55,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-08 10:30:55,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-08 10:30:55,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-08 10:30:55,747 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-08 10:30:55,747 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-08 10:30:55,747 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-08 10:30:55,747 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-08 10:30:55,748 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-08 10:30:55,748 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-08 10:30:55,749 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-08 10:30:55,749 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-08 10:30:55,750 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-08 10:30:55,751 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-08 10:30:55,751 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-08 10:30:55,752 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-08 10:30:55,752 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-08 10:30:55,753 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-08 10:30:55,753 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-08 10:30:55,753 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-08 10:30:55,754 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-08 10:30:55,755 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-08 10:30:55,755 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-08 10:30:55,755 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-08 10:30:55,756 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-08 10:30:55,756 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-08 10:30:55,757 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-08 10:30:55,757 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-08 10:30:55,758 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-08 10:30:55,758 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-08 10:30:55,759 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-08 10:30:55,760 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-08 10:30:55,760 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-08 10:30:55,760 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-08 10:30:55,761 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-08 10:30:55,762 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-08 10:30:55,762 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-08 10:30:55,762 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-08 10:30:55,763 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-08 10:30:55,764 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-08 10:30:55,765 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-08 10:30:55,765 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-08 10:30:55,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {35299#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {35260#false} is VALID [2022-04-08 10:30:55,765 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-08 10:30:55,766 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-08 10:30:55,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:55,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1198173135] [2022-04-08 10:30:55,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1198173135] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:55,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1471544521] [2022-04-08 10:30:55,766 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:30:55,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:55,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:55,768 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-08 10:30:55,799 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-08 10:30:55,853 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:30:55,853 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:55,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:30:55,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:55,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:56,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {35259#true} call ULTIMATE.init(); {35259#true} is VALID [2022-04-08 10:30:56,452 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-08 10:30:56,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-08 10:30:56,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-08 10:30:56,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-08 10:30:56,452 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-08 10:30:56,452 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-08 10:30:56,452 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-08 10:30:56,453 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-08 10:30:56,453 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-08 10:30:56,453 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-08 10:30:56,454 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-08 10:30:56,454 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-08 10:30:56,455 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-08 10:30:56,455 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-08 10:30:56,456 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-08 10:30:56,456 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-08 10:30:56,456 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-08 10:30:56,457 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-08 10:30:56,457 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-08 10:30:56,458 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-08 10:30:56,458 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-08 10:30:56,459 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-08 10:30:56,459 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-08 10:30:56,459 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-08 10:30:56,459 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-08 10:30:56,460 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-08 10:30:56,460 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-08 10:30:56,461 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-08 10:30:56,461 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-08 10:30:56,462 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-08 10:30:56,462 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-08 10:30:56,462 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-08 10:30:56,463 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-08 10:30:56,463 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-08 10:30:56,464 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-08 10:30:56,464 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-08 10:30:56,464 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-08 10:30:56,465 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-08 10:30:56,465 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-08 10:30:56,466 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-08 10:30:56,466 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-08 10:30:56,467 INFO L290 TraceCheckUtils]: 42: Hoare triple {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:30:56,467 INFO L290 TraceCheckUtils]: 43: Hoare triple {35453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35260#false} is VALID [2022-04-08 10:30:56,467 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-08 10:30:56,467 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-08 10:30:56,467 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:56,887 INFO L290 TraceCheckUtils]: 44: Hoare triple {35260#false} assume !false; {35260#false} is VALID [2022-04-08 10:30:56,888 INFO L290 TraceCheckUtils]: 43: Hoare triple {35453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35260#false} is VALID [2022-04-08 10:30:56,888 INFO L290 TraceCheckUtils]: 42: Hoare triple {35449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:30:56,889 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-08 10:30:56,889 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-08 10:30:56,890 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-08 10:30:56,890 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-08 10:30:56,891 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-08 10:30:56,891 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-08 10:30:56,891 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-08 10:30:56,892 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-08 10:30:56,892 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-08 10:30:56,893 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-08 10:30:56,893 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-08 10:30:56,894 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-08 10:30:56,894 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-08 10:30:56,894 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-08 10:30:56,895 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-08 10:30:56,895 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-08 10:30:56,896 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-08 10:30:56,896 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-08 10:30:56,896 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-08 10:30:56,897 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-08 10:30:56,897 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-08 10:30:56,897 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-08 10:30:56,898 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-08 10:30:56,898 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-08 10:30:56,898 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-08 10:30:56,899 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-08 10:30:56,899 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-08 10:30:56,900 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-08 10:30:56,900 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-08 10:30:56,901 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-08 10:30:56,901 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-08 10:30:56,901 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-08 10:30:56,902 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-08 10:30:56,902 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-08 10:30:56,902 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-08 10:30:56,902 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-08 10:30:56,902 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-08 10:30:56,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {35259#true} call #t~ret10 := main(); {35259#true} is VALID [2022-04-08 10:30:56,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35259#true} {35259#true} #117#return; {35259#true} is VALID [2022-04-08 10:30:56,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {35259#true} assume true; {35259#true} is VALID [2022-04-08 10:30:56,903 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-08 10:30:56,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {35259#true} call ULTIMATE.init(); {35259#true} is VALID [2022-04-08 10:30:56,903 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-08 10:30:56,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1471544521] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:56,903 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:56,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 33 [2022-04-08 10:30:56,903 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:56,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1233472876] [2022-04-08 10:30:56,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1233472876] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:56,903 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:56,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:30:56,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1965946284] [2022-04-08 10:30:56,904 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:56,904 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-08 10:30:56,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:56,904 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-08 10:30:56,934 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-08 10:30:56,935 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:30:56,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:56,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:30:56,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=983, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 10:30:56,935 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-08 10:31:02,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:02,858 INFO L93 Difference]: Finished difference Result 270 states and 312 transitions. [2022-04-08 10:31:02,859 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:31:02,859 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-08 10:31:02,859 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:02,859 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-08 10:31:02,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-08 10:31:02,860 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-08 10:31:02,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-08 10:31:02,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 142 transitions. [2022-04-08 10:31:02,985 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-08 10:31:02,989 INFO L225 Difference]: With dead ends: 270 [2022-04-08 10:31:02,990 INFO L226 Difference]: Without dead ends: 264 [2022-04-08 10:31:02,991 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 84 SyntacticMatches, 5 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 457 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=202, Invalid=3104, Unknown=0, NotChecked=0, Total=3306 [2022-04-08 10:31:02,991 INFO L913 BasicCegarLoop]: 69 mSDtfsCounter, 150 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2444 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:02,991 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [156 Valid, 191 Invalid, 2482 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 2444 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 10:31:02,992 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-08 10:31:04,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 228. [2022-04-08 10:31:04,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:04,788 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-08 10:31:04,788 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-08 10:31:04,788 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-08 10:31:04,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:04,792 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-08 10:31:04,792 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-08 10:31:04,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:04,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:04,793 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-08 10:31:04,793 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-08 10:31:04,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:04,797 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-08 10:31:04,797 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-08 10:31:04,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:04,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:04,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:04,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:04,798 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-08 10:31:04,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 228 states to 228 states and 264 transitions. [2022-04-08 10:31:04,803 INFO L78 Accepts]: Start accepts. Automaton has 228 states and 264 transitions. Word has length 45 [2022-04-08 10:31:04,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:04,803 INFO L478 AbstractCegarLoop]: Abstraction has 228 states and 264 transitions. [2022-04-08 10:31:04,803 INFO L479 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-08 10:31:04,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 228 states and 264 transitions. [2022-04-08 10:31:05,250 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-08 10:31:05,250 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 264 transitions. [2022-04-08 10:31:05,250 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 10:31:05,250 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:05,251 INFO L499 BasicCegarLoop]: 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-08 10:31:05,267 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-08 10:31:05,451 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-08 10:31:05,451 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:05,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:05,452 INFO L85 PathProgramCache]: Analyzing trace with hash -1247111507, now seen corresponding path program 55 times [2022-04-08 10:31:05,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:05,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1048444585] [2022-04-08 10:31:05,454 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:05,454 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:05,454 INFO L85 PathProgramCache]: Analyzing trace with hash -1247111507, now seen corresponding path program 56 times [2022-04-08 10:31:05,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:05,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434442817] [2022-04-08 10:31:05,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:05,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:05,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:05,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,545 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-08 10:31:05,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-08 10:31:05,545 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-08 10:31:05,545 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:05,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,668 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-08 10:31:05,668 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-08 10:31:05,669 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-08 10:31:05,669 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-08 10:31:05,670 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-08 10:31:05,670 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-08 10:31:05,670 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-08 10:31:05,671 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-08 10:31:05,671 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-08 10:31:05,672 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-08 10:31:05,672 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-08 10:31:05,672 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-08 10:31:05,673 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-08 10:31:05,673 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-08 10:31:05,674 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-08 10:31:05,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:05,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,883 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-08 10:31:05,884 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-08 10:31:05,884 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-08 10:31:05,885 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-08 10:31:05,885 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-08 10:31:05,886 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-08 10:31:05,887 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-08 10:31:05,887 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-08 10:31:05,887 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-08 10:31:05,888 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-08 10:31:05,889 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-08 10:31:05,889 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-08 10:31:05,889 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-08 10:31:05,890 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-08 10:31:05,891 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-08 10:31:05,891 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-08 10:31:05,892 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-08 10:31:05,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-08 10:31:05,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-08 10:31:05,892 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-08 10:31:05,892 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-08 10:31:05,892 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-08 10:31:05,892 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-08 10:31:05,893 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-08 10:31:05,893 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-08 10:31:05,894 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-08 10:31:05,894 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-08 10:31:05,895 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-08 10:31:05,895 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-08 10:31:05,896 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-08 10:31:05,896 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-08 10:31:05,897 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-08 10:31:05,897 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-08 10:31:05,898 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-08 10:31:05,898 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-08 10:31:05,899 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-08 10:31:05,899 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-08 10:31:05,900 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-08 10:31:05,900 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-08 10:31:05,900 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-08 10:31:05,901 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-08 10:31:05,901 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-08 10:31:05,902 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-08 10:31:05,902 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-08 10:31:05,903 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-08 10:31:05,903 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-08 10:31:05,904 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-08 10:31:05,904 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-08 10:31:05,905 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-08 10:31:05,905 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-08 10:31:05,906 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-08 10:31:05,906 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-08 10:31:05,907 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-08 10:31:05,907 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-08 10:31:05,908 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-08 10:31:05,909 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-08 10:31:05,909 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-08 10:31:05,910 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-08 10:31:05,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {37209#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {37170#false} is VALID [2022-04-08 10:31:05,910 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-08 10:31:05,911 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-08 10:31:05,911 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:05,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434442817] [2022-04-08 10:31:05,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1434442817] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:05,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [821600993] [2022-04-08 10:31:05,911 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:31:05,911 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:05,911 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:05,912 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-08 10:31:05,915 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-08 10:31:05,991 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:31:05,991 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:05,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 10:31:06,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:06,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:06,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {37169#true} call ULTIMATE.init(); {37169#true} is VALID [2022-04-08 10:31:06,665 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-08 10:31:06,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-08 10:31:06,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-08 10:31:06,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-08 10:31:06,666 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-08 10:31:06,666 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-08 10:31:06,666 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-08 10:31:06,666 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-08 10:31:06,667 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-08 10:31:06,667 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-08 10:31:06,668 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-08 10:31:06,668 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-08 10:31:06,669 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-08 10:31:06,669 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-08 10:31:06,670 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-08 10:31:06,670 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-08 10:31:06,671 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-08 10:31:06,671 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-08 10:31:06,672 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-08 10:31:06,672 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-08 10:31:06,673 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-08 10:31:06,673 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-08 10:31:06,674 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-08 10:31:06,674 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-08 10:31:06,674 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-08 10:31:06,675 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-08 10:31:06,675 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-08 10:31:06,676 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-08 10:31:06,676 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-08 10:31:06,677 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-08 10:31:06,677 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-08 10:31:06,678 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-08 10:31:06,678 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-08 10:31:06,679 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-08 10:31:06,679 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-08 10:31:06,680 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-08 10:31:06,680 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-08 10:31:06,681 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-08 10:31:06,682 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-08 10:31:06,682 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-08 10:31:06,683 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-08 10:31:06,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37363#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:06,683 INFO L290 TraceCheckUtils]: 43: Hoare triple {37363#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37170#false} is VALID [2022-04-08 10:31:06,684 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-08 10:31:06,684 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-08 10:31:06,684 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:07,133 INFO L290 TraceCheckUtils]: 44: Hoare triple {37170#false} assume !false; {37170#false} is VALID [2022-04-08 10:31:07,134 INFO L290 TraceCheckUtils]: 43: Hoare triple {37363#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37170#false} is VALID [2022-04-08 10:31:07,134 INFO L290 TraceCheckUtils]: 42: Hoare triple {37359#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37363#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:07,135 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-08 10:31:07,135 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-08 10:31:07,136 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-08 10:31:07,136 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-08 10:31:07,137 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-08 10:31:07,139 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-08 10:31:07,140 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-08 10:31:07,140 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-08 10:31:07,141 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-08 10:31:07,141 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-08 10:31:07,142 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-08 10:31:07,143 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-08 10:31:07,143 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-08 10:31:07,144 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-08 10:31:07,144 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-08 10:31:07,144 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-08 10:31:07,145 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-08 10:31:07,145 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-08 10:31:07,145 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-08 10:31:07,146 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-08 10:31:07,147 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-08 10:31:07,147 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-08 10:31:07,148 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-08 10:31:07,148 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-08 10:31:07,149 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-08 10:31:07,150 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-08 10:31:07,150 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-08 10:31:07,151 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-08 10:31:07,151 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-08 10:31:07,152 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-08 10:31:07,152 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-08 10:31:07,153 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-08 10:31:07,153 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-08 10:31:07,154 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-08 10:31:07,154 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-08 10:31:07,154 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-08 10:31:07,154 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-08 10:31:07,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {37169#true} call #t~ret10 := main(); {37169#true} is VALID [2022-04-08 10:31:07,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37169#true} {37169#true} #117#return; {37169#true} is VALID [2022-04-08 10:31:07,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {37169#true} assume true; {37169#true} is VALID [2022-04-08 10:31:07,154 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-08 10:31:07,154 INFO L272 TraceCheckUtils]: 0: Hoare triple {37169#true} call ULTIMATE.init(); {37169#true} is VALID [2022-04-08 10:31:07,155 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-08 10:31:07,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [821600993] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:07,155 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:07,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 33 [2022-04-08 10:31:07,155 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:07,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1048444585] [2022-04-08 10:31:07,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1048444585] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:07,155 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:07,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:31:07,155 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2102083189] [2022-04-08 10:31:07,156 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:07,156 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-08 10:31:07,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:07,156 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-08 10:31:07,194 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-08 10:31:07,194 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:31:07,194 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:07,194 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:31:07,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=979, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 10:31:07,195 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-08 10:31:11,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:11,632 INFO L93 Difference]: Finished difference Result 234 states and 269 transitions. [2022-04-08 10:31:11,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:31:11,633 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-08 10:31:11,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:11,633 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-08 10:31:11,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-08 10:31:11,634 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-08 10:31:11,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-08 10:31:11,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 108 transitions. [2022-04-08 10:31:11,738 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-08 10:31:11,742 INFO L225 Difference]: With dead ends: 234 [2022-04-08 10:31:11,742 INFO L226 Difference]: Without dead ends: 212 [2022-04-08 10:31:11,744 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 78 SyntacticMatches, 9 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 476 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=204, Invalid=2876, Unknown=0, NotChecked=0, Total=3080 [2022-04-08 10:31:11,744 INFO L913 BasicCegarLoop]: 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-08 10:31:11,744 INFO L914 BasicCegarLoop]: 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-08 10:31:11,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-08 10:31:13,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-08 10:31:13,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:13,424 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-08 10:31:13,424 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-08 10:31:13,425 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-08 10:31:13,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:13,427 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-08 10:31:13,427 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-08 10:31:13,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:13,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:13,428 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-08 10:31:13,428 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-08 10:31:13,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:13,431 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-08 10:31:13,431 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-08 10:31:13,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:13,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:13,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:13,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:13,431 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-08 10:31:13,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 246 transitions. [2022-04-08 10:31:13,434 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 246 transitions. Word has length 45 [2022-04-08 10:31:13,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:13,434 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 246 transitions. [2022-04-08 10:31:13,434 INFO L479 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-08 10:31:13,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 246 transitions. [2022-04-08 10:31:13,836 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-08 10:31:13,836 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-08 10:31:13,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 10:31:13,837 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:13,837 INFO L499 BasicCegarLoop]: 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-08 10:31:13,856 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-08 10:31:14,039 WARN L460 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-08 10:31:14,039 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:14,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:14,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1602219117, now seen corresponding path program 57 times [2022-04-08 10:31:14,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:14,040 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [92671116] [2022-04-08 10:31:14,042 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:14,042 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:14,042 INFO L85 PathProgramCache]: Analyzing trace with hash 1602219117, now seen corresponding path program 58 times [2022-04-08 10:31:14,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:14,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [841590525] [2022-04-08 10:31:14,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:14,043 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:14,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:14,130 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:14,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:14,136 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-08 10:31:14,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-08 10:31:14,136 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-08 10:31:14,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:14,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:14,269 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-08 10:31:14,270 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-08 10:31:14,271 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-08 10:31:14,271 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-08 10:31:14,271 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-08 10:31:14,272 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-08 10:31:14,272 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-08 10:31:14,273 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-08 10:31:14,273 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-08 10:31:14,274 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-08 10:31:14,275 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-08 10:31:14,275 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-08 10:31:14,275 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-08 10:31:14,276 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-08 10:31:14,277 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-08 10:31:14,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:14,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:14,446 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-08 10:31:14,446 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-08 10:31:14,447 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-08 10:31:14,447 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-08 10:31:14,448 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-08 10:31:14,448 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-08 10:31:14,449 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-08 10:31:14,449 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-08 10:31:14,450 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-08 10:31:14,450 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-08 10:31:14,451 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-08 10:31:14,451 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-08 10:31:14,452 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-08 10:31:14,452 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-08 10:31:14,453 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-08 10:31:14,454 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-08 10:31:14,454 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-08 10:31:14,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-08 10:31:14,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-08 10:31:14,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-08 10:31:14,454 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-08 10:31:14,454 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-08 10:31:14,454 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-08 10:31:14,455 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-08 10:31:14,455 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-08 10:31:14,456 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-08 10:31:14,456 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-08 10:31:14,457 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-08 10:31:14,457 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-08 10:31:14,458 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-08 10:31:14,458 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-08 10:31:14,459 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-08 10:31:14,459 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-08 10:31:14,460 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-08 10:31:14,460 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-08 10:31:14,461 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-08 10:31:14,461 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-08 10:31:14,462 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-08 10:31:14,462 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-08 10:31:14,462 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-08 10:31:14,463 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-08 10:31:14,463 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-08 10:31:14,464 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-08 10:31:14,464 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-08 10:31:14,465 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-08 10:31:14,465 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-08 10:31:14,466 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-08 10:31:14,466 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-08 10:31:14,467 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-08 10:31:14,467 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-08 10:31:14,468 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-08 10:31:14,468 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-08 10:31:14,469 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-08 10:31:14,469 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-08 10:31:14,470 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-08 10:31:14,471 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-08 10:31:14,471 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-08 10:31:14,472 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-08 10:31:14,472 INFO L290 TraceCheckUtils]: 43: Hoare triple {38907#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {38868#false} is VALID [2022-04-08 10:31:14,472 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-08 10:31:14,472 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-08 10:31:14,473 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:14,473 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [841590525] [2022-04-08 10:31:14,473 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [841590525] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:14,473 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [988885253] [2022-04-08 10:31:14,473 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:31:14,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:14,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:14,474 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-08 10:31:14,475 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-08 10:31:14,546 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:31:14,546 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:14,547 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:31:14,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:14,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:15,262 INFO L272 TraceCheckUtils]: 0: Hoare triple {38867#true} call ULTIMATE.init(); {38867#true} is VALID [2022-04-08 10:31:15,262 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-08 10:31:15,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-08 10:31:15,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-08 10:31:15,262 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-08 10:31:15,262 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-08 10:31:15,263 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-08 10:31:15,263 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-08 10:31:15,263 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-08 10:31:15,263 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-08 10:31:15,264 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-08 10:31:15,264 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-08 10:31:15,264 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-08 10:31:15,265 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-08 10:31:15,265 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-08 10:31:15,265 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-08 10:31:15,266 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-08 10:31:15,266 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-08 10:31:15,267 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-08 10:31:15,267 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-08 10:31:15,267 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-08 10:31:15,268 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-08 10:31:15,268 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-08 10:31:15,269 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-08 10:31:15,269 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-08 10:31:15,269 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-08 10:31:15,270 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-08 10:31:15,270 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-08 10:31:15,270 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-08 10:31:15,271 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-08 10:31:15,271 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-08 10:31:15,271 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-08 10:31:15,272 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-08 10:31:15,272 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-08 10:31:15,273 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-08 10:31:15,273 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-08 10:31:15,273 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-08 10:31:15,274 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-08 10:31:15,274 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-08 10:31:15,275 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-08 10:31:15,275 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-08 10:31:15,276 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-08 10:31:15,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {39061#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:15,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {39061#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38868#false} is VALID [2022-04-08 10:31:15,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-08 10:31:15,277 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-08 10:31:15,277 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:15,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {38868#false} assume !false; {38868#false} is VALID [2022-04-08 10:31:15,705 INFO L290 TraceCheckUtils]: 43: Hoare triple {39061#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38868#false} is VALID [2022-04-08 10:31:15,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {39057#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {39061#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:15,706 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-08 10:31:15,707 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-08 10:31:15,707 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-08 10:31:15,708 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-08 10:31:15,708 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-08 10:31:15,708 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-08 10:31:15,709 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-08 10:31:15,709 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-08 10:31:15,710 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-08 10:31:15,710 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-08 10:31:15,711 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-08 10:31:15,711 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-08 10:31:15,711 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-08 10:31:15,712 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-08 10:31:15,712 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-08 10:31:15,712 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-08 10:31:15,713 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-08 10:31:15,713 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-08 10:31:15,713 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-08 10:31:15,714 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-08 10:31:15,714 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-08 10:31:15,714 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-08 10:31:15,715 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-08 10:31:15,715 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-08 10:31:15,716 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-08 10:31:15,716 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-08 10:31:15,717 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-08 10:31:15,717 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-08 10:31:15,717 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-08 10:31:15,718 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-08 10:31:15,718 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-08 10:31:15,718 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-08 10:31:15,719 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-08 10:31:15,719 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-08 10:31:15,719 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-08 10:31:15,719 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-08 10:31:15,719 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-08 10:31:15,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {38867#true} call #t~ret10 := main(); {38867#true} is VALID [2022-04-08 10:31:15,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38867#true} {38867#true} #117#return; {38867#true} is VALID [2022-04-08 10:31:15,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {38867#true} assume true; {38867#true} is VALID [2022-04-08 10:31:15,720 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-08 10:31:15,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {38867#true} call ULTIMATE.init(); {38867#true} is VALID [2022-04-08 10:31:15,720 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-08 10:31:15,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [988885253] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:15,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:15,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 33 [2022-04-08 10:31:15,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:15,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [92671116] [2022-04-08 10:31:15,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [92671116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:15,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:15,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:31:15,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [280163316] [2022-04-08 10:31:15,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:15,721 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-08 10:31:15,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:15,721 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-08 10:31:15,746 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-08 10:31:15,746 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:31:15,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:15,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:31:15,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=975, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 10:31:15,747 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-08 10:31:19,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:19,216 INFO L93 Difference]: Finished difference Result 230 states and 267 transitions. [2022-04-08 10:31:19,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:31:19,216 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-08 10:31:19,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:19,216 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-08 10:31:19,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-08 10:31:19,217 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-08 10:31:19,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-08 10:31:19,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 82 transitions. [2022-04-08 10:31:19,283 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-08 10:31:19,287 INFO L225 Difference]: With dead ends: 230 [2022-04-08 10:31:19,287 INFO L226 Difference]: Without dead ends: 224 [2022-04-08 10:31:19,288 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 76 SyntacticMatches, 9 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 481 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=206, Invalid=2656, Unknown=0, NotChecked=0, Total=2862 [2022-04-08 10:31:19,289 INFO L913 BasicCegarLoop]: 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-08 10:31:19,289 INFO L914 BasicCegarLoop]: 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-08 10:31:19,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-08 10:31:20,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-08 10:31:20,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:20,961 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-08 10:31:20,961 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-08 10:31:20,961 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-08 10:31:20,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:20,964 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-08 10:31:20,964 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-08 10:31:20,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:20,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:20,965 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-08 10:31:20,965 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-08 10:31:20,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:20,967 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-08 10:31:20,967 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-08 10:31:20,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:20,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:20,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:20,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:20,968 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-08 10:31:20,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-08 10:31:20,972 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 45 [2022-04-08 10:31:20,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:20,973 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-08 10:31:20,973 INFO L479 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-08 10:31:20,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-08 10:31:21,396 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-08 10:31:21,396 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 10:31:21,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 10:31:21,397 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:21,397 INFO L499 BasicCegarLoop]: 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-08 10:31:21,414 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2022-04-08 10:31:21,600 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-08 10:31:21,600 INFO L403 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:21,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:21,600 INFO L85 PathProgramCache]: Analyzing trace with hash 215774988, now seen corresponding path program 59 times [2022-04-08 10:31:21,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:21,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1135531540] [2022-04-08 10:31:21,602 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:21,602 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:21,603 INFO L85 PathProgramCache]: Analyzing trace with hash 215774988, now seen corresponding path program 60 times [2022-04-08 10:31:21,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:21,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21280245] [2022-04-08 10:31:21,603 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:21,603 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:21,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:21,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:21,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:21,646 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-08 10:31:21,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-08 10:31:21,647 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-08 10:31:21,647 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:21,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:21,747 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-08 10:31:21,748 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-08 10:31:21,748 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-08 10:31:21,749 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-08 10:31:21,750 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-08 10:31:21,750 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-08 10:31:21,751 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-08 10:31:21,752 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-08 10:31:21,752 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-08 10:31:21,753 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-08 10:31:21,753 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-08 10:31:21,753 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-08 10:31:21,754 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-08 10:31:21,754 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-08 10:31:21,755 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-08 10:31:21,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:21,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:21,932 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-08 10:31:21,933 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-08 10:31:21,933 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-08 10:31:21,934 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-08 10:31:21,934 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-08 10:31:21,935 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-08 10:31:21,935 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-08 10:31:21,936 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-08 10:31:21,936 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-08 10:31:21,937 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-08 10:31:21,937 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-08 10:31:21,937 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-08 10:31:21,938 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-08 10:31:21,938 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-08 10:31:21,938 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-08 10:31:21,939 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-08 10:31:21,939 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-08 10:31:21,939 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-08 10:31:21,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-08 10:31:21,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-08 10:31:21,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-08 10:31:21,940 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-08 10:31:21,940 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-08 10:31:21,940 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-08 10:31:21,940 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-08 10:31:21,941 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-08 10:31:21,941 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-08 10:31:21,941 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-08 10:31:21,942 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-08 10:31:21,943 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-08 10:31:21,943 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-08 10:31:21,944 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-08 10:31:21,944 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-08 10:31:21,944 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-08 10:31:21,944 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-08 10:31:21,945 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-08 10:31:21,945 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-08 10:31:21,945 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-08 10:31:21,946 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-08 10:31:21,946 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-08 10:31:21,946 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-08 10:31:21,947 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-08 10:31:21,947 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-08 10:31:21,947 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-08 10:31:21,948 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-08 10:31:21,948 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-08 10:31:21,949 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-08 10:31:21,949 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-08 10:31:21,950 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-08 10:31:21,950 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-08 10:31:21,951 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-08 10:31:21,951 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-08 10:31:21,951 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-08 10:31:21,951 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-08 10:31:21,952 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-08 10:31:21,952 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-08 10:31:21,953 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-08 10:31:21,953 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-08 10:31:21,953 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-08 10:31:21,953 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-08 10:31:21,953 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-08 10:31:21,953 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-08 10:31:21,953 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-08 10:31:21,953 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:21,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21280245] [2022-04-08 10:31:21,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [21280245] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:21,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1030166490] [2022-04-08 10:31:21,954 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:31:21,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:21,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:21,954 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-08 10:31:21,955 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-08 10:31:22,016 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:31:22,016 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:22,017 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 10:31:22,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:22,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:23,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {40597#true} call ULTIMATE.init(); {40597#true} is VALID [2022-04-08 10:31:23,008 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-08 10:31:23,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-08 10:31:23,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-08 10:31:23,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-08 10:31:23,008 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-08 10:31:23,009 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-08 10:31:23,009 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-08 10:31:23,009 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-08 10:31:23,009 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-08 10:31:23,010 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-08 10:31:23,010 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-08 10:31:23,011 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-08 10:31:23,011 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-08 10:31:23,012 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-08 10:31:23,012 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-08 10:31:23,013 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-08 10:31:23,013 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-08 10:31:23,013 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-08 10:31:23,014 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-08 10:31:23,014 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-08 10:31:23,014 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-08 10:31:23,015 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-08 10:31:23,015 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-08 10:31:23,015 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-08 10:31:23,016 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-08 10:31:23,016 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-08 10:31:23,016 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-08 10:31:23,017 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-08 10:31:23,017 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-08 10:31:23,018 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-08 10:31:23,018 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-08 10:31:23,019 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-08 10:31:23,019 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-08 10:31:23,020 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-08 10:31:23,020 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-08 10:31:23,020 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-08 10:31:23,021 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-08 10:31:23,021 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-08 10:31:23,021 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-08 10:31:23,022 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-08 10:31:23,022 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-08 10:31:23,022 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-08 10:31:23,022 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-08 10:31:23,022 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-08 10:31:23,022 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-08 10:31:23,022 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-08 10:31:23,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:24,515 INFO L290 TraceCheckUtils]: 45: Hoare triple {40598#false} assume !false; {40598#false} is VALID [2022-04-08 10:31:24,515 INFO L290 TraceCheckUtils]: 44: Hoare triple {40598#false} assume 0 == ~cond; {40598#false} is VALID [2022-04-08 10:31:24,515 INFO L290 TraceCheckUtils]: 43: Hoare triple {40598#false} ~cond := #in~cond; {40598#false} is VALID [2022-04-08 10:31:24,515 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-08 10:31:24,515 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-08 10:31:24,516 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-08 10:31:24,516 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-08 10:31:24,516 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-08 10:31:24,517 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-08 10:31:24,517 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-08 10:31:24,517 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-08 10:31:24,518 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-08 10:31:24,518 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-08 10:31:24,518 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-08 10:31:24,519 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-08 10:31:24,520 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-08 10:31:24,520 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-08 10:31:24,521 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-08 10:31:24,521 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-08 10:31:24,521 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-08 10:31:24,522 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-08 10:31:24,522 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-08 10:31:24,522 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-08 10:31:24,523 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-08 10:31:24,523 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-08 10:31:24,523 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-08 10:31:24,524 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-08 10:31:24,524 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-08 10:31:24,524 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-08 10:31:24,524 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-08 10:31:24,525 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-08 10:31:24,526 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-08 10:31:24,526 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-08 10:31:24,527 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-08 10:31:24,527 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-08 10:31:24,528 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-08 10:31:24,528 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-08 10:31:24,528 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-08 10:31:24,528 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-08 10:31:24,528 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-08 10:31:24,529 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-08 10:31:24,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {40597#true} call #t~ret10 := main(); {40597#true} is VALID [2022-04-08 10:31:24,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40597#true} {40597#true} #117#return; {40597#true} is VALID [2022-04-08 10:31:24,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {40597#true} assume true; {40597#true} is VALID [2022-04-08 10:31:24,529 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-08 10:31:24,529 INFO L272 TraceCheckUtils]: 0: Hoare triple {40597#true} call ULTIMATE.init(); {40597#true} is VALID [2022-04-08 10:31:24,529 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-08 10:31:24,529 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1030166490] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:24,529 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:24,529 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-08 10:31:24,529 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:24,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1135531540] [2022-04-08 10:31:24,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1135531540] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:24,530 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:24,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:31:24,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1955195557] [2022-04-08 10:31:24,530 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:24,530 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-08 10:31:24,530 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:24,530 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-08 10:31:24,561 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-08 10:31:24,561 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:31:24,561 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:24,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:31:24,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 10:31:24,562 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-08 10:31:29,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:29,292 INFO L93 Difference]: Finished difference Result 268 states and 314 transitions. [2022-04-08 10:31:29,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:31:29,292 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-08 10:31:29,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:29,293 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-08 10:31:29,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 130 transitions. [2022-04-08 10:31:29,294 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-08 10:31:29,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 130 transitions. [2022-04-08 10:31:29,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 130 transitions. [2022-04-08 10:31:29,398 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-08 10:31:29,404 INFO L225 Difference]: With dead ends: 268 [2022-04-08 10:31:29,404 INFO L226 Difference]: Without dead ends: 254 [2022-04-08 10:31:29,406 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 422 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=238, Invalid=3068, Unknown=0, NotChecked=0, Total=3306 [2022-04-08 10:31:29,406 INFO L913 BasicCegarLoop]: 76 mSDtfsCounter, 148 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 1581 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:29,406 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [157 Valid, 153 Invalid, 1601 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 1581 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 10:31:29,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-08 10:31:31,355 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 245. [2022-04-08 10:31:31,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:31,356 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-08 10:31:31,356 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-08 10:31:31,356 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-08 10:31:31,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:31,359 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-08 10:31:31,359 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-08 10:31:31,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:31,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:31,360 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-08 10:31:31,360 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-08 10:31:31,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:31,364 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-08 10:31:31,364 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-08 10:31:31,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:31,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:31,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:31,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:31,365 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-08 10:31:31,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 287 transitions. [2022-04-08 10:31:31,368 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 287 transitions. Word has length 46 [2022-04-08 10:31:31,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:31,369 INFO L478 AbstractCegarLoop]: Abstraction has 245 states and 287 transitions. [2022-04-08 10:31:31,369 INFO L479 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-08 10:31:31,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 245 states and 287 transitions. [2022-04-08 10:31:31,858 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-08 10:31:31,858 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 287 transitions. [2022-04-08 10:31:31,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 10:31:31,859 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:31,859 INFO L499 BasicCegarLoop]: 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-08 10:31:31,875 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-08 10:31:32,060 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-08 10:31:32,060 INFO L403 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:32,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:32,060 INFO L85 PathProgramCache]: Analyzing trace with hash 256944047, now seen corresponding path program 61 times [2022-04-08 10:31:32,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:32,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [729083347] [2022-04-08 10:31:32,062 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:32,062 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:32,062 INFO L85 PathProgramCache]: Analyzing trace with hash 256944047, now seen corresponding path program 62 times [2022-04-08 10:31:32,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:32,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [624575417] [2022-04-08 10:31:32,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:32,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:32,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:32,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:32,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:32,099 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-08 10:31:32,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-08 10:31:32,099 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-08 10:31:32,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:32,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:32,221 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-08 10:31:32,222 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-08 10:31:32,222 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-08 10:31:32,223 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-08 10:31:32,224 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-08 10:31:32,224 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-08 10:31:32,225 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-08 10:31:32,226 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-08 10:31:32,226 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-08 10:31:32,227 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-08 10:31:32,227 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-08 10:31:32,227 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-08 10:31:32,228 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-08 10:31:32,228 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-08 10:31:32,228 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-08 10:31:32,229 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-08 10:31:32,229 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:31:32,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:32,389 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-08 10:31:32,390 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-08 10:31:32,390 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-08 10:31:32,391 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-08 10:31:32,391 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-08 10:31:32,392 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-08 10:31:32,393 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-08 10:31:32,393 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-08 10:31:32,394 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-08 10:31:32,394 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-08 10:31:32,394 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-08 10:31:32,395 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-08 10:31:32,395 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-08 10:31:32,395 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-08 10:31:32,396 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-08 10:31:32,397 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-08 10:31:32,397 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-08 10:31:32,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-08 10:31:32,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-08 10:31:32,397 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-08 10:31:32,397 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-08 10:31:32,397 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-08 10:31:32,398 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-08 10:31:32,398 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-08 10:31:32,398 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-08 10:31:32,399 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-08 10:31:32,400 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-08 10:31:32,400 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-08 10:31:32,401 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-08 10:31:32,402 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-08 10:31:32,402 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-08 10:31:32,403 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-08 10:31:32,403 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-08 10:31:32,404 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-08 10:31:32,404 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-08 10:31:32,404 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-08 10:31:32,405 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-08 10:31:32,405 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-08 10:31:32,406 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-08 10:31:32,406 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-08 10:31:32,406 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-08 10:31:32,407 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-08 10:31:32,407 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-08 10:31:32,408 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-08 10:31:32,408 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-08 10:31:32,409 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-08 10:31:32,410 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-08 10:31:32,410 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-08 10:31:32,411 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-08 10:31:32,412 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-08 10:31:32,412 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-08 10:31:32,412 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-08 10:31:32,413 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-08 10:31:32,413 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-08 10:31:32,413 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-08 10:31:32,414 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-08 10:31:32,414 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-08 10:31:32,414 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-08 10:31:32,414 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-08 10:31:32,414 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-08 10:31:32,414 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-08 10:31:32,415 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-08 10:31:32,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:32,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [624575417] [2022-04-08 10:31:32,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [624575417] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:32,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1647573567] [2022-04-08 10:31:32,415 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:31:32,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:32,416 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:32,419 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-08 10:31:32,421 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-08 10:31:32,499 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:31:32,500 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:32,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 10:31:32,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:32,516 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:33,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {42513#true} call ULTIMATE.init(); {42513#true} is VALID [2022-04-08 10:31:33,450 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-08 10:31:33,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-08 10:31:33,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-08 10:31:33,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-08 10:31:33,450 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-08 10:31:33,450 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-08 10:31:33,450 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-08 10:31:33,450 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-08 10:31:33,451 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-08 10:31:33,451 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-08 10:31:33,452 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-08 10:31:33,452 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-08 10:31:33,453 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-08 10:31:33,453 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-08 10:31:33,454 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-08 10:31:33,454 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-08 10:31:33,455 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-08 10:31:33,455 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-08 10:31:33,455 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-08 10:31:33,455 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-08 10:31:33,456 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-08 10:31:33,456 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-08 10:31:33,457 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-08 10:31:33,457 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-08 10:31:33,457 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-08 10:31:33,457 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-08 10:31:33,458 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-08 10:31:33,458 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-08 10:31:33,459 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-08 10:31:33,459 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-08 10:31:33,460 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-08 10:31:33,460 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-08 10:31:33,461 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-08 10:31:33,461 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-08 10:31:33,461 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-08 10:31:33,462 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-08 10:31:33,462 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-08 10:31:33,462 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-08 10:31:33,462 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-08 10:31:33,463 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-08 10:31:33,463 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-08 10:31:33,463 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-08 10:31:33,463 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-08 10:31:33,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-08 10:31:33,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-08 10:31:33,464 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-08 10:31:33,464 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:34,925 INFO L290 TraceCheckUtils]: 45: Hoare triple {42514#false} assume !false; {42514#false} is VALID [2022-04-08 10:31:34,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {42514#false} assume 0 == ~cond; {42514#false} is VALID [2022-04-08 10:31:34,926 INFO L290 TraceCheckUtils]: 43: Hoare triple {42514#false} ~cond := #in~cond; {42514#false} is VALID [2022-04-08 10:31:34,926 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-08 10:31:34,926 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-08 10:31:34,927 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-08 10:31:34,927 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-08 10:31:34,927 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-08 10:31:34,927 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-08 10:31:34,928 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-08 10:31:34,928 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-08 10:31:34,928 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-08 10:31:34,929 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-08 10:31:34,929 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-08 10:31:34,930 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-08 10:31:34,930 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-08 10:31:34,931 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-08 10:31:34,931 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-08 10:31:34,931 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-08 10:31:34,932 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-08 10:31:34,932 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-08 10:31:34,932 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-08 10:31:34,933 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-08 10:31:34,933 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-08 10:31:34,933 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-08 10:31:34,934 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-08 10:31:34,934 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-08 10:31:34,934 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-08 10:31:34,934 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-08 10:31:34,935 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-08 10:31:34,935 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-08 10:31:34,936 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-08 10:31:34,936 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-08 10:31:34,937 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-08 10:31:34,939 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-08 10:31:34,940 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-08 10:31:34,941 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-08 10:31:34,941 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-08 10:31:34,941 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-08 10:31:34,941 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-08 10:31:34,941 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-08 10:31:34,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {42513#true} call #t~ret10 := main(); {42513#true} is VALID [2022-04-08 10:31:34,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42513#true} {42513#true} #117#return; {42513#true} is VALID [2022-04-08 10:31:34,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {42513#true} assume true; {42513#true} is VALID [2022-04-08 10:31:34,942 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-08 10:31:34,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {42513#true} call ULTIMATE.init(); {42513#true} is VALID [2022-04-08 10:31:34,942 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-08 10:31:34,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1647573567] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:34,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:34,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-08 10:31:34,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:34,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [729083347] [2022-04-08 10:31:34,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [729083347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:34,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:34,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:31:34,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1827372949] [2022-04-08 10:31:34,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:34,944 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-08 10:31:34,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:34,944 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-08 10:31:34,983 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-08 10:31:34,983 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:31:34,983 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:34,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:31:34,984 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 10:31:34,984 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-08 10:31:39,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:39,829 INFO L93 Difference]: Finished difference Result 260 states and 302 transitions. [2022-04-08 10:31:39,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:31:39,830 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-08 10:31:39,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:39,830 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-08 10:31:39,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-04-08 10:31:39,831 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-08 10:31:39,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-04-08 10:31:39,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 129 transitions. [2022-04-08 10:31:39,932 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-08 10:31:39,936 INFO L225 Difference]: With dead ends: 260 [2022-04-08 10:31:39,936 INFO L226 Difference]: Without dead ends: 248 [2022-04-08 10:31:39,937 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 431 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=238, Invalid=3068, Unknown=0, NotChecked=0, Total=3306 [2022-04-08 10:31:39,938 INFO L913 BasicCegarLoop]: 78 mSDtfsCounter, 153 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 1610 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:39,938 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [164 Valid, 155 Invalid, 1629 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 1610 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 10:31:39,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2022-04-08 10:31:41,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 246. [2022-04-08 10:31:41,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:41,980 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-08 10:31:41,980 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-08 10:31:41,980 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-08 10:31:41,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:41,984 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-08 10:31:41,984 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-08 10:31:41,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:41,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:41,984 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-08 10:31:41,984 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-08 10:31:41,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:41,989 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-08 10:31:41,989 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-08 10:31:41,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:41,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:41,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:41,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:41,990 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-08 10:31:41,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 246 states to 246 states and 286 transitions. [2022-04-08 10:31:41,996 INFO L78 Accepts]: Start accepts. Automaton has 246 states and 286 transitions. Word has length 46 [2022-04-08 10:31:41,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:41,996 INFO L478 AbstractCegarLoop]: Abstraction has 246 states and 286 transitions. [2022-04-08 10:31:41,996 INFO L479 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-08 10:31:41,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 246 states and 286 transitions. [2022-04-08 10:31:42,519 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-08 10:31:42,520 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 286 transitions. [2022-04-08 10:31:42,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 10:31:42,520 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:42,520 INFO L499 BasicCegarLoop]: 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-08 10:31:42,537 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2022-04-08 10:31:42,721 WARN L460 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-08 10:31:42,721 INFO L403 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:42,721 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:42,721 INFO L85 PathProgramCache]: Analyzing trace with hash -521678067, now seen corresponding path program 63 times [2022-04-08 10:31:42,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:42,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [142433711] [2022-04-08 10:31:42,723 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:42,724 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:42,724 INFO L85 PathProgramCache]: Analyzing trace with hash -521678067, now seen corresponding path program 64 times [2022-04-08 10:31:42,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:42,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1824764424] [2022-04-08 10:31:42,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:42,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:42,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:42,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,763 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-08 10:31:42,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:42,764 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-08 10:31:42,764 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:42,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,769 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-08 10:31:42,769 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-08 10:31:42,769 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-08 10:31:42,769 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-08 10:31:42,769 INFO L290 TraceCheckUtils]: 4: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-08 10:31:42,769 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-08 10:31:42,769 INFO L290 TraceCheckUtils]: 6: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-08 10:31:42,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-08 10:31:42,770 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-08 10:31:42,770 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-08 10:31:42,770 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-08 10:31:42,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-08 10:31:42,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-08 10:31:42,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:42,770 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-08 10:31:42,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:42,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,830 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-08 10:31:42,831 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-08 10:31:42,831 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-08 10:31:42,831 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-08 10:31:42,832 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-08 10:31:42,832 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-08 10:31:42,832 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-08 10:31:42,833 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-08 10:31:42,833 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-08 10:31:42,833 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-08 10:31:42,834 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-08 10:31:42,834 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-08 10:31:42,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-08 10:31:42,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-08 10:31:42,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-08 10:31:42,834 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:42,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-08 10:31:42,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 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-08 10:31:42,835 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-08 10:31:42,836 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-08 10:31:42,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-08 10:31:42,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-08 10:31:42,836 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-08 10:31:42,836 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-08 10:31:42,836 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-08 10:31:42,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-08 10:31:42,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-08 10:31:42,836 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:42,836 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-08 10:31:42,836 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-08 10:31:42,836 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-08 10:31:42,836 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-08 10:31:42,837 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-08 10:31:42,837 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-08 10:31:42,838 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-08 10:31:42,838 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-08 10:31:42,838 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-08 10:31:42,838 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-08 10:31:42,839 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-08 10:31:42,839 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-08 10:31:42,840 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-08 10:31:42,840 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-08 10:31:42,840 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-08 10:31:42,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-08 10:31:42,840 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-08 10:31:42,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-08 10:31:42,841 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-08 10:31:42,841 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-08 10:31:42,841 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-08 10:31:42,841 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-08 10:31:42,841 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-08 10:31:42,841 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-08 10:31:42,841 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-08 10:31:42,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:42,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1824764424] [2022-04-08 10:31:42,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1824764424] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:42,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1565712244] [2022-04-08 10:31:42,842 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:31:42,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:42,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:42,843 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-08 10:31:42,859 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-08 10:31:42,911 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:31:42,911 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:42,912 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:31:42,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,923 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:43,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {44403#true} call ULTIMATE.init(); {44403#true} is VALID [2022-04-08 10:31:43,094 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-08 10:31:43,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:43,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-08 10:31:43,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 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-08 10:31:43,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-08 10:31:43,095 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-08 10:31:43,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-08 10:31:43,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-08 10:31:43,096 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-08 10:31:43,096 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-08 10:31:43,096 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-08 10:31:43,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-08 10:31:43,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-08 10:31:43,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:43,096 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-08 10:31:43,096 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-08 10:31:43,096 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-08 10:31:43,096 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-08 10:31:43,097 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-08 10:31:43,097 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-08 10:31:43,098 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-08 10:31:43,098 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-08 10:31:43,098 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-08 10:31:43,098 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-08 10:31:43,099 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-08 10:31:43,099 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-08 10:31:43,100 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-08 10:31:43,100 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-08 10:31:43,100 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-08 10:31:43,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-08 10:31:43,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-08 10:31:43,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-08 10:31:43,101 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-08 10:31:43,101 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-08 10:31:43,101 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-08 10:31:43,101 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-08 10:31:43,101 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-08 10:31:43,101 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-08 10:31:43,101 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-08 10:31:43,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:43,247 INFO L290 TraceCheckUtils]: 45: Hoare triple {44404#false} assume !false; {44404#false} is VALID [2022-04-08 10:31:43,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {44404#false} assume 0 == ~cond; {44404#false} is VALID [2022-04-08 10:31:43,248 INFO L290 TraceCheckUtils]: 43: Hoare triple {44404#false} ~cond := #in~cond; {44404#false} is VALID [2022-04-08 10:31:43,248 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-08 10:31:43,248 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-08 10:31:43,248 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44404#false} {44403#true} #113#return; {44404#false} is VALID [2022-04-08 10:31:43,248 INFO L290 TraceCheckUtils]: 39: Hoare triple {44404#false} assume true; {44404#false} is VALID [2022-04-08 10:31:43,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {44404#false} #res := ~y~1; {44404#false} is VALID [2022-04-08 10:31:43,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {44404#false} assume !(~x~1 < ~i~1); {44404#false} is VALID [2022-04-08 10:31:43,248 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-08 10:31:43,249 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-08 10:31:43,249 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-08 10:31:43,250 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-08 10:31:43,250 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-08 10:31:43,250 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-08 10:31:43,250 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-08 10:31:43,251 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-08 10:31:43,251 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-08 10:31:43,251 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-08 10:31:43,252 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-08 10:31:43,252 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-08 10:31:43,252 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-08 10:31:43,252 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-08 10:31:43,252 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44403#true} {44403#true} #111#return; {44403#true} is VALID [2022-04-08 10:31:43,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:43,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {44403#true} #res := ~y~0; {44403#true} is VALID [2022-04-08 10:31:43,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {44403#true} assume !(~x~0 < ~i~0); {44403#true} is VALID [2022-04-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {44403#true} ~x~0 := 0;~y~0 := 0; {44403#true} is VALID [2022-04-08 10:31:43,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {44403#true} assume !(~l~0 < ~m); {44403#true} is VALID [2022-04-08 10:31:43,253 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-08 10:31:43,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {44403#true} assume !(~b~0 < ~n); {44403#true} is VALID [2022-04-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 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-08 10:31:43,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {44403#true} call #t~ret10 := main(); {44403#true} is VALID [2022-04-08 10:31:43,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44403#true} {44403#true} #117#return; {44403#true} is VALID [2022-04-08 10:31:43,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {44403#true} assume true; {44403#true} is VALID [2022-04-08 10:31:43,254 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-08 10:31:43,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {44403#true} call ULTIMATE.init(); {44403#true} is VALID [2022-04-08 10:31:43,254 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-08 10:31:43,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1565712244] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:43,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:43,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-08 10:31:43,254 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:43,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [142433711] [2022-04-08 10:31:43,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [142433711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:43,254 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:43,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:31:43,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107514189] [2022-04-08 10:31:43,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:43,255 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-08 10:31:43,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:43,255 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-08 10:31:43,280 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-08 10:31:43,280 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:31:43,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:43,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:31:43,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:31:43,281 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-08 10:31:46,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:46,215 INFO L93 Difference]: Finished difference Result 332 states and 391 transitions. [2022-04-08 10:31:46,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:31:46,216 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-08 10:31:46,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:46,216 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-08 10:31:46,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-08 10:31:46,216 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-08 10:31:46,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-08 10:31:46,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2022-04-08 10:31:46,281 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-08 10:31:46,289 INFO L225 Difference]: With dead ends: 332 [2022-04-08 10:31:46,289 INFO L226 Difference]: Without dead ends: 302 [2022-04-08 10:31:46,291 INFO L912 BasicCegarLoop]: 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-08 10:31:46,291 INFO L913 BasicCegarLoop]: 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-08 10:31:46,291 INFO L914 BasicCegarLoop]: 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-08 10:31:46,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 302 states. [2022-04-08 10:31:48,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 302 to 284. [2022-04-08 10:31:48,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:48,877 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-08 10:31:48,877 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-08 10:31:48,877 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-08 10:31:48,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:48,881 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-08 10:31:48,881 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-08 10:31:48,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:48,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:48,882 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-08 10:31:48,882 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-08 10:31:48,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:48,887 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-08 10:31:48,887 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-08 10:31:48,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:48,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:48,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:48,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:48,888 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-08 10:31:48,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 331 transitions. [2022-04-08 10:31:48,893 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 331 transitions. Word has length 46 [2022-04-08 10:31:48,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:48,893 INFO L478 AbstractCegarLoop]: Abstraction has 284 states and 331 transitions. [2022-04-08 10:31:48,893 INFO L479 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-08 10:31:48,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 331 transitions. [2022-04-08 10:31:49,474 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-08 10:31:49,474 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 331 transitions. [2022-04-08 10:31:49,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 10:31:49,475 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:49,475 INFO L499 BasicCegarLoop]: 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-08 10:31:49,491 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-08 10:31:49,675 WARN L460 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-08 10:31:49,675 INFO L403 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:49,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:49,676 INFO L85 PathProgramCache]: Analyzing trace with hash -467445298, now seen corresponding path program 65 times [2022-04-08 10:31:49,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:49,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [403111962] [2022-04-08 10:31:49,678 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:49,678 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:49,678 INFO L85 PathProgramCache]: Analyzing trace with hash -467445298, now seen corresponding path program 66 times [2022-04-08 10:31:49,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:49,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [266321872] [2022-04-08 10:31:49,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:49,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:49,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:49,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:49,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:49,711 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-08 10:31:49,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:49,711 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-08 10:31:49,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:49,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:49,782 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-08 10:31:49,782 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-08 10:31:49,783 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-08 10:31:49,783 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-08 10:31:49,783 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-08 10:31:49,784 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-08 10:31:49,784 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-08 10:31:49,784 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-08 10:31:49,785 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-08 10:31:49,785 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-08 10:31:49,786 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-08 10:31:49,786 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-08 10:31:49,786 INFO L290 TraceCheckUtils]: 12: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-08 10:31:49,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-08 10:31:49,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-08 10:31:49,786 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-08 10:31:49,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:31:49,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:49,800 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-08 10:31:49,800 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-08 10:31:49,800 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-08 10:31:49,800 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-08 10:31:49,800 INFO L290 TraceCheckUtils]: 4: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-08 10:31:49,801 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-08 10:31:49,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-08 10:31:49,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-08 10:31:49,801 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-08 10:31:49,801 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-08 10:31:49,801 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-08 10:31:49,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-08 10:31:49,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-08 10:31:49,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:49,801 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-08 10:31:49,802 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-08 10:31:49,802 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-08 10:31:49,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:49,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-08 10:31:49,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-08 10:31:49,802 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-08 10:31:49,802 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-08 10:31:49,802 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-08 10:31:49,807 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-08 10:31:49,808 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-08 10:31:49,808 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-08 10:31:49,809 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-08 10:31:49,809 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-08 10:31:49,809 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-08 10:31:49,810 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-08 10:31:49,810 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-08 10:31:49,811 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-08 10:31:49,811 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-08 10:31:49,812 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-08 10:31:49,812 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-08 10:31:49,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-08 10:31:49,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-08 10:31:49,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-08 10:31:49,813 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-08 10:31:49,813 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-08 10:31:49,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-08 10:31:49,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 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-08 10:31:49,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-08 10:31:49,813 INFO L290 TraceCheckUtils]: 38: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-08 10:31:49,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:49,813 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-08 10:31:49,813 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-08 10:31:49,814 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-08 10:31:49,814 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-08 10:31:49,814 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-08 10:31:49,814 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-08 10:31:49,814 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-08 10:31:49,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:49,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [266321872] [2022-04-08 10:31:49,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [266321872] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:49,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [173305752] [2022-04-08 10:31:49,814 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:31:49,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:49,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:49,815 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-08 10:31:49,816 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-08 10:31:49,879 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:31:49,879 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:49,880 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:31:49,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:49,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:50,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {46591#true} call ULTIMATE.init(); {46591#true} is VALID [2022-04-08 10:31:50,072 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-08 10:31:50,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:50,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-08 10:31:50,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-08 10:31:50,072 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-08 10:31:50,072 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-08 10:31:50,072 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-08 10:31:50,072 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-08 10:31:50,073 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-08 10:31:50,073 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-08 10:31:50,073 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-08 10:31:50,074 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-08 10:31:50,074 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-08 10:31:50,074 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-08 10:31:50,075 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-08 10:31:50,075 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-08 10:31:50,076 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-08 10:31:50,076 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-08 10:31:50,076 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-08 10:31:50,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-08 10:31:50,077 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-08 10:31:50,077 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-08 10:31:50,077 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {46592#false} assume !(~b~1 < ~n); {46592#false} is VALID [2022-04-08 10:31:50,077 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-08 10:31:50,077 INFO L290 TraceCheckUtils]: 32: Hoare triple {46592#false} assume !(~l~1 < ~m); {46592#false} is VALID [2022-04-08 10:31:50,077 INFO L290 TraceCheckUtils]: 33: Hoare triple {46592#false} ~x~1 := 0;~y~1 := 0; {46592#false} is VALID [2022-04-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 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-08 10:31:50,077 INFO L290 TraceCheckUtils]: 37: Hoare triple {46592#false} assume !(~x~1 < ~i~1); {46592#false} is VALID [2022-04-08 10:31:50,077 INFO L290 TraceCheckUtils]: 38: Hoare triple {46592#false} #res := ~y~1; {46592#false} is VALID [2022-04-08 10:31:50,078 INFO L290 TraceCheckUtils]: 39: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-08 10:31:50,078 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46592#false} {46592#false} #113#return; {46592#false} is VALID [2022-04-08 10:31:50,078 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-08 10:31:50,078 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-08 10:31:50,078 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-08 10:31:50,078 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-08 10:31:50,078 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-08 10:31:50,078 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-08 10:31:50,078 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:50,227 INFO L290 TraceCheckUtils]: 45: Hoare triple {46592#false} assume !false; {46592#false} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 44: Hoare triple {46592#false} assume 0 == ~cond; {46592#false} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 43: Hoare triple {46592#false} ~cond := #in~cond; {46592#false} is VALID [2022-04-08 10:31:50,228 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-08 10:31:50,228 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-08 10:31:50,228 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46591#true} {46592#false} #113#return; {46592#false} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 39: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 38: Hoare triple {46591#true} #res := ~y~1; {46591#true} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 37: Hoare triple {46591#true} assume !(~x~1 < ~i~1); {46591#true} is VALID [2022-04-08 10:31:50,228 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-08 10:31:50,228 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-08 10:31:50,228 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-08 10:31:50,228 INFO L290 TraceCheckUtils]: 33: Hoare triple {46591#true} ~x~1 := 0;~y~1 := 0; {46591#true} is VALID [2022-04-08 10:31:50,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {46591#true} assume !(~l~1 < ~m); {46591#true} is VALID [2022-04-08 10:31:50,228 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-08 10:31:50,228 INFO L290 TraceCheckUtils]: 30: Hoare triple {46591#true} assume !(~b~1 < ~n); {46591#true} is VALID [2022-04-08 10:31:50,228 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-08 10:31:50,228 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-08 10:31:50,228 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-08 10:31:50,229 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-08 10:31:50,229 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-08 10:31:50,229 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-08 10:31:50,229 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {46592#false} {46591#true} #111#return; {46592#false} is VALID [2022-04-08 10:31:50,229 INFO L290 TraceCheckUtils]: 22: Hoare triple {46592#false} assume true; {46592#false} is VALID [2022-04-08 10:31:50,229 INFO L290 TraceCheckUtils]: 21: Hoare triple {46592#false} #res := ~y~0; {46592#false} is VALID [2022-04-08 10:31:50,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {46592#false} assume !(~x~0 < ~i~0); {46592#false} is VALID [2022-04-08 10:31:50,229 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-08 10:31:50,230 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-08 10:31:50,230 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-08 10:31:50,231 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-08 10:31:50,231 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-08 10:31:50,231 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-08 10:31:50,231 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-08 10:31:50,232 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-08 10:31:50,232 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-08 10:31:50,233 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-08 10:31:50,233 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-08 10:31:50,233 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-08 10:31:50,233 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-08 10:31:50,233 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-08 10:31:50,233 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-08 10:31:50,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {46591#true} call #t~ret10 := main(); {46591#true} is VALID [2022-04-08 10:31:50,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46591#true} {46591#true} #117#return; {46591#true} is VALID [2022-04-08 10:31:50,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {46591#true} assume true; {46591#true} is VALID [2022-04-08 10:31:50,234 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-08 10:31:50,234 INFO L272 TraceCheckUtils]: 0: Hoare triple {46591#true} call ULTIMATE.init(); {46591#true} is VALID [2022-04-08 10:31:50,234 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-08 10:31:50,234 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [173305752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:50,234 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:50,234 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-08 10:31:50,234 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:50,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [403111962] [2022-04-08 10:31:50,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [403111962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:50,235 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:50,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:31:50,235 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775355984] [2022-04-08 10:31:50,235 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:50,235 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-08 10:31:50,235 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:50,235 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-08 10:31:50,263 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-08 10:31:50,264 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:31:50,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:50,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:31:50,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:31:50,264 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-08 10:31:53,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:53,561 INFO L93 Difference]: Finished difference Result 525 states and 613 transitions. [2022-04-08 10:31:53,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:31:53,561 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-08 10:31:53,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:53,561 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-08 10:31:53,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-08 10:31:53,562 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-08 10:31:53,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-08 10:31:53,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 95 transitions. [2022-04-08 10:31:53,634 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-08 10:31:53,641 INFO L225 Difference]: With dead ends: 525 [2022-04-08 10:31:53,641 INFO L226 Difference]: Without dead ends: 340 [2022-04-08 10:31:53,643 INFO L912 BasicCegarLoop]: 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-08 10:31:53,643 INFO L913 BasicCegarLoop]: 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-08 10:31:53,643 INFO L914 BasicCegarLoop]: 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-08 10:31:53,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2022-04-08 10:31:56,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 322. [2022-04-08 10:31:56,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:56,412 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-08 10:31:56,413 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-08 10:31:56,414 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-08 10:31:56,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:56,419 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-08 10:31:56,419 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-08 10:31:56,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:56,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:56,420 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-08 10:31:56,420 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-08 10:31:56,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:56,425 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-08 10:31:56,425 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-08 10:31:56,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:56,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:56,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:56,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:56,426 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-08 10:31:56,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 376 transitions. [2022-04-08 10:31:56,432 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 376 transitions. Word has length 46 [2022-04-08 10:31:56,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:56,432 INFO L478 AbstractCegarLoop]: Abstraction has 322 states and 376 transitions. [2022-04-08 10:31:56,432 INFO L479 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-08 10:31:56,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 322 states and 376 transitions. [2022-04-08 10:31:57,092 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-08 10:31:57,092 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 376 transitions. [2022-04-08 10:31:57,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:31:57,093 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:57,093 INFO L499 BasicCegarLoop]: 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-08 10:31:57,109 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-08 10:31:57,293 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-08 10:31:57,293 INFO L403 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:57,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:57,294 INFO L85 PathProgramCache]: Analyzing trace with hash -1644141558, now seen corresponding path program 67 times [2022-04-08 10:31:57,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:57,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [978787137] [2022-04-08 10:31:57,296 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:57,296 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:57,296 INFO L85 PathProgramCache]: Analyzing trace with hash -1644141558, now seen corresponding path program 68 times [2022-04-08 10:31:57,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:57,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1326141735] [2022-04-08 10:31:57,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:57,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:57,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:57,396 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:57,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:57,399 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-08 10:31:57,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-08 10:31:57,399 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-08 10:31:57,399 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:57,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:57,567 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-08 10:31:57,568 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-08 10:31:57,568 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-08 10:31:57,569 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-08 10:31:57,569 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-08 10:31:57,570 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-08 10:31:57,570 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-08 10:31:57,571 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-08 10:31:57,571 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-08 10:31:57,571 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-08 10:31:57,572 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-08 10:31:57,572 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-08 10:31:57,572 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-08 10:31:57,573 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-08 10:31:57,573 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-08 10:31:57,574 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-08 10:31:57,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:31:57,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:57,792 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-08 10:31:57,792 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-08 10:31:57,792 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-08 10:31:57,793 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-08 10:31:57,793 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-08 10:31:57,794 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-08 10:31:57,794 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-08 10:31:57,795 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-08 10:31:57,795 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-08 10:31:57,795 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-08 10:31:57,796 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-08 10:31:57,796 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-08 10:31:57,797 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-08 10:31:57,797 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-08 10:31:57,797 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-08 10:31:57,798 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-08 10:31:57,798 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-08 10:31:57,799 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-08 10:31:57,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-08 10:31:57,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-08 10:31:57,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-08 10:31:57,799 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-08 10:31:57,799 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-08 10:31:57,799 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-08 10:31:57,799 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-08 10:31:57,800 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-08 10:31:57,800 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-08 10:31:57,800 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-08 10:31:57,801 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-08 10:31:57,801 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-08 10:31:57,802 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-08 10:31:57,802 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-08 10:31:57,803 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-08 10:31:57,803 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-08 10:31:57,803 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-08 10:31:57,804 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-08 10:31:57,804 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-08 10:31:57,804 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-08 10:31:57,805 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-08 10:31:57,805 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-08 10:31:57,806 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-08 10:31:57,806 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-08 10:31:57,806 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-08 10:31:57,807 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-08 10:31:57,807 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-08 10:31:57,807 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-08 10:31:57,808 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-08 10:31:57,808 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-08 10:31:57,809 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-08 10:31:57,809 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-08 10:31:57,810 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-08 10:31:57,810 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-08 10:31:57,810 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-08 10:31:57,811 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-08 10:31:57,811 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-08 10:31:57,811 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-08 10:31:57,812 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-08 10:31:57,812 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-08 10:31:57,813 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-08 10:31:57,813 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-08 10:31:57,814 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-08 10:31:57,814 INFO L290 TraceCheckUtils]: 45: Hoare triple {49359#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {49318#false} is VALID [2022-04-08 10:31:57,814 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-08 10:31:57,814 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-08 10:31:57,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:57,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1326141735] [2022-04-08 10:31:57,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1326141735] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:57,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [261660371] [2022-04-08 10:31:57,815 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:31:57,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:57,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:57,815 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-08 10:31:57,816 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-08 10:31:57,879 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:31:57,879 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:57,880 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 10:31:57,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:57,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:58,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {49317#true} call ULTIMATE.init(); {49317#true} is VALID [2022-04-08 10:31:58,486 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-08 10:31:58,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-08 10:31:58,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-08 10:31:58,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-08 10:31:58,486 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-08 10:31:58,486 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-08 10:31:58,486 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-08 10:31:58,487 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-08 10:31:58,487 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-08 10:31:58,487 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-08 10:31:58,488 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-08 10:31:58,488 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-08 10:31:58,489 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-08 10:31:58,489 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-08 10:31:58,490 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-08 10:31:58,490 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-08 10:31:58,490 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-08 10:31:58,491 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-08 10:31:58,491 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-08 10:31:58,492 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-08 10:31:58,492 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-08 10:31:58,492 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-08 10:31:58,493 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-08 10:31:58,493 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-08 10:31:58,493 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-08 10:31:58,494 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-08 10:31:58,494 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-08 10:31:58,494 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-08 10:31:58,495 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-08 10:31:58,495 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-08 10:31:58,496 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-08 10:31:58,496 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-08 10:31:58,497 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-08 10:31:58,497 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-08 10:31:58,497 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-08 10:31:58,498 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-08 10:31:58,498 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-08 10:31:58,499 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-08 10:31:58,499 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-08 10:31:58,499 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-08 10:31:58,500 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-08 10:31:58,500 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-08 10:31:58,501 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-08 10:31:58,501 INFO L290 TraceCheckUtils]: 44: Hoare triple {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {49521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:58,502 INFO L290 TraceCheckUtils]: 45: Hoare triple {49521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {49318#false} is VALID [2022-04-08 10:31:58,502 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-08 10:31:58,502 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-08 10:31:58,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:59,000 INFO L290 TraceCheckUtils]: 46: Hoare triple {49318#false} assume !false; {49318#false} is VALID [2022-04-08 10:31:59,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {49521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {49318#false} is VALID [2022-04-08 10:31:59,001 INFO L290 TraceCheckUtils]: 44: Hoare triple {49517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {49521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:31:59,002 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-08 10:31:59,003 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-08 10:31:59,004 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-08 10:31:59,004 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-08 10:31:59,005 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-08 10:31:59,005 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-08 10:31:59,006 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-08 10:31:59,006 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-08 10:31:59,007 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-08 10:31:59,007 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-08 10:31:59,008 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-08 10:31:59,008 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-08 10:31:59,009 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-08 10:31:59,009 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-08 10:31:59,010 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-08 10:31:59,010 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-08 10:31:59,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-08 10:31:59,011 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-08 10:31:59,011 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-08 10:31:59,011 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-08 10:31:59,012 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-08 10:31:59,012 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-08 10:31:59,013 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-08 10:31:59,013 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-08 10:31:59,013 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-08 10:31:59,014 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-08 10:31:59,014 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-08 10:31:59,015 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-08 10:31:59,015 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-08 10:31:59,016 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-08 10:31:59,016 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-08 10:31:59,016 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-08 10:31:59,017 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-08 10:31:59,017 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-08 10:31:59,018 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-08 10:31:59,018 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-08 10:31:59,018 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-08 10:31:59,018 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-08 10:31:59,018 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-08 10:31:59,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {49317#true} call #t~ret10 := main(); {49317#true} is VALID [2022-04-08 10:31:59,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49317#true} {49317#true} #117#return; {49317#true} is VALID [2022-04-08 10:31:59,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {49317#true} assume true; {49317#true} is VALID [2022-04-08 10:31:59,018 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-08 10:31:59,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {49317#true} call ULTIMATE.init(); {49317#true} is VALID [2022-04-08 10:31:59,019 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-08 10:31:59,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [261660371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:59,019 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:59,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 35 [2022-04-08 10:31:59,019 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:59,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [978787137] [2022-04-08 10:31:59,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [978787137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:59,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:59,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-08 10:31:59,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [708818151] [2022-04-08 10:31:59,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:59,019 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-08 10:31:59,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:59,020 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-08 10:31:59,051 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-08 10:31:59,051 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-08 10:31:59,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:59,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-08 10:31:59,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=1113, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 10:31:59,052 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-08 10:32:07,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:07,166 INFO L93 Difference]: Finished difference Result 392 states and 457 transitions. [2022-04-08 10:32:07,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 10:32:07,166 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-08 10:32:07,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:07,166 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-08 10:32:07,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-08 10:32:07,167 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-08 10:32:07,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-08 10:32:07,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 158 transitions. [2022-04-08 10:32:07,292 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-08 10:32:07,300 INFO L225 Difference]: With dead ends: 392 [2022-04-08 10:32:07,300 INFO L226 Difference]: Without dead ends: 386 [2022-04-08 10:32:07,302 INFO L912 BasicCegarLoop]: 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-08 10:32:07,302 INFO L913 BasicCegarLoop]: 81 mSDtfsCounter, 174 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 3110 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:07,302 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [181 Valid, 213 Invalid, 3150 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 3110 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-08 10:32:07,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-08 10:32:10,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 338. [2022-04-08 10:32:10,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:10,261 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-08 10:32:10,261 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-08 10:32:10,262 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-08 10:32:10,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:10,268 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-08 10:32:10,268 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-08 10:32:10,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:10,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:10,269 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-08 10:32:10,269 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-08 10:32:10,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:10,276 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-08 10:32:10,276 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-08 10:32:10,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:10,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:10,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:10,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:10,277 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-08 10:32:10,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 395 transitions. [2022-04-08 10:32:10,286 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 395 transitions. Word has length 47 [2022-04-08 10:32:10,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:10,286 INFO L478 AbstractCegarLoop]: Abstraction has 338 states and 395 transitions. [2022-04-08 10:32:10,286 INFO L479 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-08 10:32:10,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 395 transitions. [2022-04-08 10:32:10,986 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-08 10:32:10,986 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 395 transitions. [2022-04-08 10:32:10,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:10,987 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:10,987 INFO L499 BasicCegarLoop]: 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-08 10:32:11,004 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-08 10:32:11,191 WARN L460 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-08 10:32:11,192 INFO L403 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:11,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:11,192 INFO L85 PathProgramCache]: Analyzing trace with hash 1497239530, now seen corresponding path program 69 times [2022-04-08 10:32:11,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:11,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1628429895] [2022-04-08 10:32:11,195 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:11,195 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:11,195 INFO L85 PathProgramCache]: Analyzing trace with hash 1497239530, now seen corresponding path program 70 times [2022-04-08 10:32:11,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:11,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1082968737] [2022-04-08 10:32:11,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:11,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:11,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:11,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:11,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:11,316 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-08 10:32:11,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-08 10:32:11,316 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-08 10:32:11,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:11,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:11,468 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-08 10:32:11,469 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-08 10:32:11,469 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-08 10:32:11,469 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-08 10:32:11,470 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-08 10:32:11,470 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-08 10:32:11,471 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-08 10:32:11,471 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-08 10:32:11,471 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-08 10:32:11,472 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-08 10:32:11,472 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-08 10:32:11,473 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-08 10:32:11,473 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-08 10:32:11,473 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-08 10:32:11,474 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-08 10:32:11,474 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-08 10:32:11,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:32:11,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:11,721 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-08 10:32:11,722 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-08 10:32:11,723 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-08 10:32:11,723 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-08 10:32:11,724 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-08 10:32:11,724 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-08 10:32:11,725 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-08 10:32:11,725 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-08 10:32:11,726 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-08 10:32:11,726 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-08 10:32:11,727 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-08 10:32:11,728 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-08 10:32:11,728 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-08 10:32:11,728 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-08 10:32:11,729 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-08 10:32:11,730 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-08 10:32:11,730 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-08 10:32:11,731 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-08 10:32:11,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-08 10:32:11,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-08 10:32:11,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-08 10:32:11,731 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-08 10:32:11,731 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-08 10:32:11,731 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-08 10:32:11,732 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-08 10:32:11,732 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-08 10:32:11,732 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-08 10:32:11,733 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-08 10:32:11,733 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-08 10:32:11,734 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-08 10:32:11,734 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-08 10:32:11,735 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-08 10:32:11,735 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-08 10:32:11,735 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-08 10:32:11,736 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-08 10:32:11,736 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-08 10:32:11,737 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-08 10:32:11,737 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-08 10:32:11,737 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-08 10:32:11,738 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-08 10:32:11,738 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-08 10:32:11,738 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-08 10:32:11,739 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-08 10:32:11,739 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-08 10:32:11,739 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-08 10:32:11,740 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-08 10:32:11,740 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-08 10:32:11,741 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-08 10:32:11,741 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-08 10:32:11,742 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-08 10:32:11,742 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-08 10:32:11,742 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-08 10:32:11,743 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-08 10:32:11,743 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-08 10:32:11,744 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-08 10:32:11,744 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-08 10:32:11,744 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-08 10:32:11,745 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-08 10:32:11,745 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-08 10:32:11,746 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-08 10:32:11,746 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-08 10:32:11,747 INFO L290 TraceCheckUtils]: 45: Hoare triple {51997#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {51956#false} is VALID [2022-04-08 10:32:11,747 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-08 10:32:11,747 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-08 10:32:11,747 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:11,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1082968737] [2022-04-08 10:32:11,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1082968737] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:11,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1943019335] [2022-04-08 10:32:11,747 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:32:11,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:11,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:11,748 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-08 10:32:11,749 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-08 10:32:11,812 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:32:11,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:11,813 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:32:11,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:11,822 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:12,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {51955#true} call ULTIMATE.init(); {51955#true} is VALID [2022-04-08 10:32:12,454 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-08 10:32:12,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-08 10:32:12,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-08 10:32:12,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-08 10:32:12,454 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-08 10:32:12,454 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-08 10:32:12,454 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-08 10:32:12,455 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-08 10:32:12,455 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-08 10:32:12,455 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-08 10:32:12,456 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-08 10:32:12,456 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-08 10:32:12,457 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-08 10:32:12,457 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-08 10:32:12,458 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-08 10:32:12,458 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-08 10:32:12,458 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-08 10:32:12,459 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-08 10:32:12,459 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-08 10:32:12,459 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-08 10:32:12,460 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-08 10:32:12,460 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-08 10:32:12,461 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-08 10:32:12,461 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-08 10:32:12,461 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-08 10:32:12,462 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-08 10:32:12,462 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-08 10:32:12,462 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-08 10:32:12,463 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-08 10:32:12,463 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-08 10:32:12,463 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-08 10:32:12,464 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-08 10:32:12,464 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-08 10:32:12,465 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-08 10:32:12,465 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-08 10:32:12,466 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-08 10:32:12,466 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-08 10:32:12,466 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-08 10:32:12,467 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-08 10:32:12,467 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-08 10:32:12,468 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-08 10:32:12,468 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-08 10:32:12,469 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-08 10:32:12,469 INFO L290 TraceCheckUtils]: 44: Hoare triple {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52159#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:32:12,469 INFO L290 TraceCheckUtils]: 45: Hoare triple {52159#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {51956#false} is VALID [2022-04-08 10:32:12,469 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-08 10:32:12,469 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-08 10:32:12,470 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:12,966 INFO L290 TraceCheckUtils]: 46: Hoare triple {51956#false} assume !false; {51956#false} is VALID [2022-04-08 10:32:12,966 INFO L290 TraceCheckUtils]: 45: Hoare triple {52159#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {51956#false} is VALID [2022-04-08 10:32:12,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {52155#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52159#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:32:12,967 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-08 10:32:12,968 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-08 10:32:12,968 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-08 10:32:12,969 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-08 10:32:12,969 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-08 10:32:12,969 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-08 10:32:12,970 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-08 10:32:12,970 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-08 10:32:12,971 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-08 10:32:12,971 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-08 10:32:12,971 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-08 10:32:12,972 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-08 10:32:12,972 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-08 10:32:12,973 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-08 10:32:12,973 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-08 10:32:12,974 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-08 10:32:12,974 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-08 10:32:12,974 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-08 10:32:12,974 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-08 10:32:12,975 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-08 10:32:12,975 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-08 10:32:12,976 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-08 10:32:12,976 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-08 10:32:12,976 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-08 10:32:12,977 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-08 10:32:12,977 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-08 10:32:12,978 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-08 10:32:12,978 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-08 10:32:12,978 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-08 10:32:12,979 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-08 10:32:12,979 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-08 10:32:12,980 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-08 10:32:12,980 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-08 10:32:12,980 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-08 10:32:12,981 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-08 10:32:12,981 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-08 10:32:12,981 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-08 10:32:12,981 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-08 10:32:12,981 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-08 10:32:12,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {51955#true} call #t~ret10 := main(); {51955#true} is VALID [2022-04-08 10:32:12,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51955#true} {51955#true} #117#return; {51955#true} is VALID [2022-04-08 10:32:12,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {51955#true} assume true; {51955#true} is VALID [2022-04-08 10:32:12,982 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-08 10:32:12,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {51955#true} call ULTIMATE.init(); {51955#true} is VALID [2022-04-08 10:32:12,982 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-08 10:32:12,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1943019335] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:12,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:12,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 35 [2022-04-08 10:32:12,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:12,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1628429895] [2022-04-08 10:32:12,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1628429895] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:12,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:12,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:32:12,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1255631710] [2022-04-08 10:32:12,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:12,983 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-08 10:32:12,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:12,983 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-08 10:32:13,012 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-08 10:32:13,013 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:32:13,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:13,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:32:13,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1109, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 10:32:13,013 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-08 10:32:19,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:19,286 INFO L93 Difference]: Finished difference Result 344 states and 400 transitions. [2022-04-08 10:32:19,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:32:19,287 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-08 10:32:19,287 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:19,287 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-08 10:32:19,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-08 10:32:19,288 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-08 10:32:19,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-08 10:32:19,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 124 transitions. [2022-04-08 10:32:19,385 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-08 10:32:19,390 INFO L225 Difference]: With dead ends: 344 [2022-04-08 10:32:19,390 INFO L226 Difference]: Without dead ends: 322 [2022-04-08 10:32:19,392 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 539 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=216, Invalid=3324, Unknown=0, NotChecked=0, Total=3540 [2022-04-08 10:32:19,392 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 120 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2095 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:19,392 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 180 Invalid, 2128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 2095 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-08 10:32:19,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2022-04-08 10:32:22,233 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 322. [2022-04-08 10:32:22,233 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:22,234 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-08 10:32:22,234 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-08 10:32:22,234 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-08 10:32:22,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:22,239 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-08 10:32:22,239 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-08 10:32:22,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:22,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:22,240 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-08 10:32:22,240 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-08 10:32:22,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:22,245 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-08 10:32:22,245 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-08 10:32:22,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:22,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:22,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:22,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:22,245 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-08 10:32:22,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 377 transitions. [2022-04-08 10:32:22,253 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 377 transitions. Word has length 47 [2022-04-08 10:32:22,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:22,253 INFO L478 AbstractCegarLoop]: Abstraction has 322 states and 377 transitions. [2022-04-08 10:32:22,253 INFO L479 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-08 10:32:22,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 322 states and 377 transitions. [2022-04-08 10:32:22,915 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-08 10:32:22,915 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-08 10:32:22,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:22,917 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:22,917 INFO L499 BasicCegarLoop]: 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-08 10:32:22,940 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-08 10:32:23,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable44 [2022-04-08 10:32:23,140 INFO L403 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:23,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:23,140 INFO L85 PathProgramCache]: Analyzing trace with hash -1271699905, now seen corresponding path program 71 times [2022-04-08 10:32:23,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:23,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2023985202] [2022-04-08 10:32:23,142 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:23,142 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:23,142 INFO L85 PathProgramCache]: Analyzing trace with hash -1271699905, now seen corresponding path program 72 times [2022-04-08 10:32:23,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:23,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1184436889] [2022-04-08 10:32:23,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:23,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:23,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:23,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:23,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:23,190 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-08 10:32:23,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-08 10:32:23,190 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-08 10:32:23,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:23,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:23,264 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-08 10:32:23,264 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-08 10:32:23,265 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-08 10:32:23,265 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-08 10:32:23,266 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-08 10:32:23,266 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-08 10:32:23,266 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-08 10:32:23,267 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-08 10:32:23,267 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-08 10:32:23,267 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-08 10:32:23,268 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-08 10:32:23,268 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-08 10:32:23,268 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-08 10:32:23,268 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-08 10:32:23,269 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-08 10:32:23,269 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:32:23,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:23,395 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-08 10:32:23,396 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-08 10:32:23,397 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-08 10:32:23,397 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-08 10:32:23,398 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-08 10:32:23,398 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-08 10:32:23,398 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-08 10:32:23,399 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-08 10:32:23,399 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-08 10:32:23,399 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-08 10:32:23,399 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-08 10:32:23,400 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-08 10:32:23,400 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-08 10:32:23,400 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-08 10:32:23,400 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-08 10:32:23,401 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-08 10:32:23,401 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-08 10:32:23,402 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-08 10:32:23,402 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-08 10:32:23,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-08 10:32:23,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-08 10:32:23,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-08 10:32:23,402 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-08 10:32:23,402 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-08 10:32:23,402 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-08 10:32:23,403 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-08 10:32:23,403 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-08 10:32:23,404 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-08 10:32:23,404 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-08 10:32:23,405 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-08 10:32:23,405 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-08 10:32:23,405 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-08 10:32:23,406 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-08 10:32:23,406 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-08 10:32:23,406 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-08 10:32:23,406 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-08 10:32:23,407 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-08 10:32:23,407 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-08 10:32:23,407 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-08 10:32:23,408 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-08 10:32:23,408 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-08 10:32:23,408 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-08 10:32:23,409 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-08 10:32:23,409 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-08 10:32:23,410 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-08 10:32:23,410 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-08 10:32:23,411 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-08 10:32:23,411 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-08 10:32:23,411 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-08 10:32:23,412 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-08 10:32:23,412 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-08 10:32:23,412 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-08 10:32:23,412 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-08 10:32:23,413 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-08 10:32:23,413 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-08 10:32:23,413 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-08 10:32:23,413 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-08 10:32:23,414 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-08 10:32:23,414 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-08 10:32:23,415 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-08 10:32:23,415 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-08 10:32:23,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-08 10:32:23,415 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-08 10:32:23,415 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-08 10:32:23,415 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-08 10:32:23,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:23,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1184436889] [2022-04-08 10:32:23,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1184436889] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:23,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2064036605] [2022-04-08 10:32:23,415 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:32:23,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:23,416 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:23,416 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-08 10:32:23,417 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-08 10:32:23,523 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:32:23,523 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:23,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:32:23,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:23,538 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:24,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {54333#true} call ULTIMATE.init(); {54333#true} is VALID [2022-04-08 10:32:24,285 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-08 10:32:24,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-08 10:32:24,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-08 10:32:24,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-08 10:32:24,286 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-08 10:32:24,286 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-08 10:32:24,286 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-08 10:32:24,286 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-08 10:32:24,287 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-08 10:32:24,287 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-08 10:32:24,288 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-08 10:32:24,288 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-08 10:32:24,289 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-08 10:32:24,289 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-08 10:32:24,289 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-08 10:32:24,290 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-08 10:32:24,290 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-08 10:32:24,290 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-08 10:32:24,290 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-08 10:32:24,291 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-08 10:32:24,291 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-08 10:32:24,292 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-08 10:32:24,292 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-08 10:32:24,292 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-08 10:32:24,293 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-08 10:32:24,293 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-08 10:32:24,294 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-08 10:32:24,294 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-08 10:32:24,295 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-08 10:32:24,295 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-08 10:32:24,295 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-08 10:32:24,295 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-08 10:32:24,296 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-08 10:32:24,296 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-08 10:32:24,296 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-08 10:32:24,296 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-08 10:32:24,297 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-08 10:32:24,297 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-08 10:32:24,297 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-08 10:32:24,297 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-08 10:32:24,298 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-08 10:32:24,298 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-08 10:32:24,298 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-08 10:32:24,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-08 10:32:24,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-08 10:32:24,298 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-08 10:32:24,299 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-08 10:32:24,299 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:25,403 INFO L290 TraceCheckUtils]: 46: Hoare triple {54334#false} assume !false; {54334#false} is VALID [2022-04-08 10:32:25,403 INFO L290 TraceCheckUtils]: 45: Hoare triple {54334#false} assume 0 == ~cond; {54334#false} is VALID [2022-04-08 10:32:25,403 INFO L290 TraceCheckUtils]: 44: Hoare triple {54334#false} ~cond := #in~cond; {54334#false} is VALID [2022-04-08 10:32:25,403 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-08 10:32:25,404 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-08 10:32:25,404 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-08 10:32:25,405 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-08 10:32:25,405 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-08 10:32:25,405 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-08 10:32:25,405 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-08 10:32:25,406 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-08 10:32:25,406 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-08 10:32:25,406 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-08 10:32:25,406 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-08 10:32:25,407 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-08 10:32:25,407 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-08 10:32:25,407 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-08 10:32:25,407 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-08 10:32:25,408 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-08 10:32:25,409 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-08 10:32:25,409 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-08 10:32:25,410 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-08 10:32:25,410 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-08 10:32:25,410 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-08 10:32:25,411 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-08 10:32:25,411 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-08 10:32:25,411 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-08 10:32:25,412 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-08 10:32:25,412 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-08 10:32:25,412 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-08 10:32:25,412 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-08 10:32:25,413 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-08 10:32:25,413 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-08 10:32:25,413 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-08 10:32:25,414 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-08 10:32:25,414 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-08 10:32:25,415 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-08 10:32:25,415 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-08 10:32:25,416 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-08 10:32:25,416 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-08 10:32:25,416 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-08 10:32:25,416 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-08 10:32:25,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {54333#true} call #t~ret10 := main(); {54333#true} is VALID [2022-04-08 10:32:25,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54333#true} {54333#true} #117#return; {54333#true} is VALID [2022-04-08 10:32:25,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {54333#true} assume true; {54333#true} is VALID [2022-04-08 10:32:25,416 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-08 10:32:25,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {54333#true} call ULTIMATE.init(); {54333#true} is VALID [2022-04-08 10:32:25,416 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-08 10:32:25,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2064036605] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:25,416 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:25,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-08 10:32:25,417 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:25,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2023985202] [2022-04-08 10:32:25,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2023985202] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:25,417 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:25,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:32:25,417 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1815429296] [2022-04-08 10:32:25,417 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:25,417 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-08 10:32:25,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:25,418 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-08 10:32:25,444 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-08 10:32:25,444 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:32:25,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:25,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:32:25,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 10:32:25,445 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-08 10:32:30,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:30,464 INFO L93 Difference]: Finished difference Result 378 states and 443 transitions. [2022-04-08 10:32:30,464 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:32:30,464 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-08 10:32:30,464 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:30,464 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-08 10:32:30,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2022-04-08 10:32:30,465 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-08 10:32:30,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2022-04-08 10:32:30,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2022-04-08 10:32:30,556 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-08 10:32:30,564 INFO L225 Difference]: With dead ends: 378 [2022-04-08 10:32:30,564 INFO L226 Difference]: Without dead ends: 362 [2022-04-08 10:32:30,566 INFO L912 BasicCegarLoop]: 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-08 10:32:30,566 INFO L913 BasicCegarLoop]: 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-08 10:32:30,566 INFO L914 BasicCegarLoop]: 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-08 10:32:30,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 362 states. [2022-04-08 10:32:33,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 362 to 357. [2022-04-08 10:32:33,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:33,794 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-08 10:32:33,794 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-08 10:32:33,794 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-08 10:32:33,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:33,800 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-08 10:32:33,800 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-08 10:32:33,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:33,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:33,801 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-08 10:32:33,801 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-08 10:32:33,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:33,809 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-08 10:32:33,809 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-08 10:32:33,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:33,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:33,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:33,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:33,811 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-08 10:32:33,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 416 transitions. [2022-04-08 10:32:33,820 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 416 transitions. Word has length 47 [2022-04-08 10:32:33,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:33,820 INFO L478 AbstractCegarLoop]: Abstraction has 357 states and 416 transitions. [2022-04-08 10:32:33,820 INFO L479 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-08 10:32:33,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 357 states and 416 transitions. [2022-04-08 10:32:34,588 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-08 10:32:34,588 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 416 transitions. [2022-04-08 10:32:34,590 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:34,590 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:34,590 INFO L499 BasicCegarLoop]: 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-08 10:32:34,608 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-08 10:32:34,790 WARN L460 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-08 10:32:34,790 INFO L403 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:34,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:34,791 INFO L85 PathProgramCache]: Analyzing trace with hash 83484810, now seen corresponding path program 73 times [2022-04-08 10:32:34,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:34,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [789935015] [2022-04-08 10:32:34,793 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:34,793 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:34,793 INFO L85 PathProgramCache]: Analyzing trace with hash 83484810, now seen corresponding path program 74 times [2022-04-08 10:32:34,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:34,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1209531949] [2022-04-08 10:32:34,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:34,793 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:34,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:34,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:34,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:34,903 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-08 10:32:34,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-08 10:32:34,903 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-08 10:32:34,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:34,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:35,042 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-08 10:32:35,043 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-08 10:32:35,043 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-08 10:32:35,043 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-08 10:32:35,044 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-08 10:32:35,044 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-08 10:32:35,045 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-08 10:32:35,045 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-08 10:32:35,045 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-08 10:32:35,046 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-08 10:32:35,046 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-08 10:32:35,047 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-08 10:32:35,047 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-08 10:32:35,047 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-08 10:32:35,048 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-08 10:32:35,048 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-08 10:32:35,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:32:35,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:35,229 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-08 10:32:35,229 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-08 10:32:35,230 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-08 10:32:35,230 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-08 10:32:35,230 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-08 10:32:35,231 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-08 10:32:35,231 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-08 10:32:35,232 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-08 10:32:35,232 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-08 10:32:35,232 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-08 10:32:35,233 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-08 10:32:35,233 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-08 10:32:35,234 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-08 10:32:35,234 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-08 10:32:35,234 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-08 10:32:35,235 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-08 10:32:35,236 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-08 10:32:35,236 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-08 10:32:35,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-08 10:32:35,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-08 10:32:35,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-08 10:32:35,236 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-08 10:32:35,236 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-08 10:32:35,236 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-08 10:32:35,236 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-08 10:32:35,237 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-08 10:32:35,237 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-08 10:32:35,237 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-08 10:32:35,238 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-08 10:32:35,238 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-08 10:32:35,239 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-08 10:32:35,239 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-08 10:32:35,239 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-08 10:32:35,240 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-08 10:32:35,240 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-08 10:32:35,241 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-08 10:32:35,241 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-08 10:32:35,241 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-08 10:32:35,242 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-08 10:32:35,242 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-08 10:32:35,243 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-08 10:32:35,243 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-08 10:32:35,243 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-08 10:32:35,243 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-08 10:32:35,244 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-08 10:32:35,244 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-08 10:32:35,244 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-08 10:32:35,245 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-08 10:32:35,245 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-08 10:32:35,246 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-08 10:32:35,246 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-08 10:32:35,246 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-08 10:32:35,247 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-08 10:32:35,247 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-08 10:32:35,248 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-08 10:32:35,248 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-08 10:32:35,248 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-08 10:32:35,249 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-08 10:32:35,249 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-08 10:32:35,250 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-08 10:32:35,250 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-08 10:32:35,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {56942#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {56901#false} is VALID [2022-04-08 10:32:35,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-08 10:32:35,251 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-08 10:32:35,251 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:35,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1209531949] [2022-04-08 10:32:35,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1209531949] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:35,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [684593623] [2022-04-08 10:32:35,251 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:32:35,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:35,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:35,252 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-08 10:32:35,253 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-08 10:32:35,317 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:32:35,318 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:35,319 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 10:32:35,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:35,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:35,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {56900#true} call ULTIMATE.init(); {56900#true} is VALID [2022-04-08 10:32:35,995 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-08 10:32:35,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-08 10:32:35,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-08 10:32:35,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-08 10:32:35,996 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-08 10:32:35,996 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-08 10:32:35,996 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-08 10:32:35,996 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-08 10:32:35,996 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-08 10:32:35,997 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-08 10:32:35,997 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-08 10:32:35,998 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-08 10:32:35,998 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-08 10:32:35,998 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-08 10:32:35,999 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-08 10:32:35,999 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-08 10:32:36,000 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-08 10:32:36,000 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-08 10:32:36,000 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-08 10:32:36,001 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-08 10:32:36,001 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-08 10:32:36,001 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-08 10:32:36,002 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-08 10:32:36,002 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-08 10:32:36,003 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-08 10:32:36,003 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-08 10:32:36,003 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-08 10:32:36,004 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-08 10:32:36,004 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-08 10:32:36,004 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-08 10:32:36,005 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-08 10:32:36,005 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-08 10:32:36,006 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-08 10:32:36,006 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-08 10:32:36,006 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-08 10:32:36,007 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-08 10:32:36,007 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-08 10:32:36,008 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-08 10:32:36,008 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-08 10:32:36,008 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-08 10:32:36,009 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-08 10:32:36,009 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-08 10:32:36,010 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-08 10:32:36,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {57104#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:32:36,010 INFO L290 TraceCheckUtils]: 45: Hoare triple {57104#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {56901#false} is VALID [2022-04-08 10:32:36,011 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-08 10:32:36,011 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-08 10:32:36,011 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:36,458 INFO L290 TraceCheckUtils]: 46: Hoare triple {56901#false} assume !false; {56901#false} is VALID [2022-04-08 10:32:36,458 INFO L290 TraceCheckUtils]: 45: Hoare triple {57104#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {56901#false} is VALID [2022-04-08 10:32:36,459 INFO L290 TraceCheckUtils]: 44: Hoare triple {57100#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {57104#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:32:36,459 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-08 10:32:36,460 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-08 10:32:36,461 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-08 10:32:36,461 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-08 10:32:36,461 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-08 10:32:36,461 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-08 10:32:36,462 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-08 10:32:36,462 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-08 10:32:36,463 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-08 10:32:36,463 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-08 10:32:36,464 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-08 10:32:36,464 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-08 10:32:36,465 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-08 10:32:36,465 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-08 10:32:36,465 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-08 10:32:36,466 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-08 10:32:36,466 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-08 10:32:36,466 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-08 10:32:36,466 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-08 10:32:36,467 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-08 10:32:36,467 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-08 10:32:36,468 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-08 10:32:36,468 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-08 10:32:36,468 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-08 10:32:36,469 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-08 10:32:36,469 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-08 10:32:36,470 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-08 10:32:36,470 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-08 10:32:36,470 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-08 10:32:36,471 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-08 10:32:36,471 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-08 10:32:36,472 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-08 10:32:36,472 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-08 10:32:36,472 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-08 10:32:36,473 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-08 10:32:36,473 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-08 10:32:36,473 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-08 10:32:36,473 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-08 10:32:36,473 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-08 10:32:36,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {56900#true} call #t~ret10 := main(); {56900#true} is VALID [2022-04-08 10:32:36,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56900#true} {56900#true} #117#return; {56900#true} is VALID [2022-04-08 10:32:36,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {56900#true} assume true; {56900#true} is VALID [2022-04-08 10:32:36,474 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-08 10:32:36,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {56900#true} call ULTIMATE.init(); {56900#true} is VALID [2022-04-08 10:32:36,474 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-08 10:32:36,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [684593623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:36,474 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:36,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 35 [2022-04-08 10:32:36,474 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:36,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [789935015] [2022-04-08 10:32:36,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [789935015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:36,474 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:36,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:32:36,474 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [804729255] [2022-04-08 10:32:36,474 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:36,475 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-08 10:32:36,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:36,475 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-08 10:32:36,503 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-08 10:32:36,503 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:32:36,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:36,503 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:32:36,503 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1105, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 10:32:36,504 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-08 10:32:42,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:42,210 INFO L93 Difference]: Finished difference Result 375 states and 438 transitions. [2022-04-08 10:32:42,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:32:42,210 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-08 10:32:42,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:42,210 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-08 10:32:42,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-08 10:32:42,211 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-08 10:32:42,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-08 10:32:42,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 98 transitions. [2022-04-08 10:32:42,287 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-08 10:32:42,295 INFO L225 Difference]: With dead ends: 375 [2022-04-08 10:32:42,295 INFO L226 Difference]: Without dead ends: 359 [2022-04-08 10:32:42,297 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 80 SyntacticMatches, 9 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 544 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=218, Invalid=3088, Unknown=0, NotChecked=0, Total=3306 [2022-04-08 10:32:42,297 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1361 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:42,297 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 153 Invalid, 1393 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1361 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 10:32:42,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-08 10:32:45,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 354. [2022-04-08 10:32:45,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:45,533 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-08 10:32:45,533 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-08 10:32:45,533 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-08 10:32:45,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:45,539 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-08 10:32:45,539 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-08 10:32:45,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:45,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:45,540 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-08 10:32:45,540 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-08 10:32:45,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:45,548 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-08 10:32:45,548 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-08 10:32:45,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:45,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:45,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:45,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:45,550 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-08 10:32:45,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 414 transitions. [2022-04-08 10:32:45,558 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 414 transitions. Word has length 47 [2022-04-08 10:32:45,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:45,558 INFO L478 AbstractCegarLoop]: Abstraction has 354 states and 414 transitions. [2022-04-08 10:32:45,558 INFO L479 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-08 10:32:45,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 354 states and 414 transitions. [2022-04-08 10:32:46,326 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-08 10:32:46,326 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 414 transitions. [2022-04-08 10:32:46,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:46,328 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:46,328 INFO L499 BasicCegarLoop]: 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-08 10:32:46,345 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-08 10:32:46,528 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-08 10:32:46,528 INFO L403 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:46,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:46,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1251929861, now seen corresponding path program 75 times [2022-04-08 10:32:46,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:46,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [580625112] [2022-04-08 10:32:46,531 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:46,531 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:46,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1251929861, now seen corresponding path program 76 times [2022-04-08 10:32:46,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:46,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [594319711] [2022-04-08 10:32:46,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:46,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:46,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:46,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:46,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:46,581 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-08 10:32:46,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-08 10:32:46,581 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-08 10:32:46,581 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:46,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:46,687 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-08 10:32:46,688 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-08 10:32:46,688 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-08 10:32:46,689 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-08 10:32:46,690 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-08 10:32:46,690 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-08 10:32:46,691 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-08 10:32:46,691 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-08 10:32:46,691 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-08 10:32:46,692 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-08 10:32:46,692 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-08 10:32:46,693 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-08 10:32:46,693 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-08 10:32:46,694 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-08 10:32:46,694 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-08 10:32:46,694 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-08 10:32:46,695 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-08 10:32:46,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:32:46,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:46,826 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-08 10:32:46,826 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-08 10:32:46,827 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-08 10:32:46,828 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-08 10:32:46,828 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-08 10:32:46,829 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-08 10:32:46,829 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-08 10:32:46,829 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-08 10:32:46,830 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-08 10:32:46,830 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-08 10:32:46,830 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-08 10:32:46,831 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-08 10:32:46,831 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-08 10:32:46,831 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-08 10:32:46,832 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-08 10:32:46,833 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-08 10:32:46,833 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-08 10:32:46,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-08 10:32:46,833 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-08 10:32:46,833 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-08 10:32:46,833 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-08 10:32:46,833 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-08 10:32:46,833 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-08 10:32:46,834 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-08 10:32:46,835 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-08 10:32:46,835 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-08 10:32:46,836 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-08 10:32:46,837 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-08 10:32:46,837 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-08 10:32:46,838 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-08 10:32:46,838 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-08 10:32:46,838 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-08 10:32:46,839 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-08 10:32:46,839 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-08 10:32:46,840 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-08 10:32:46,840 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-08 10:32:46,841 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-08 10:32:46,841 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-08 10:32:46,841 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-08 10:32:46,842 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-08 10:32:46,842 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-08 10:32:46,842 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-08 10:32:46,843 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-08 10:32:46,843 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-08 10:32:46,844 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-08 10:32:46,844 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-08 10:32:46,845 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-08 10:32:46,845 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-08 10:32:46,845 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-08 10:32:46,845 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-08 10:32:46,846 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-08 10:32:46,846 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-08 10:32:46,846 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-08 10:32:46,846 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-08 10:32:46,847 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-08 10:32:46,847 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-08 10:32:46,848 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-08 10:32:46,848 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-08 10:32:46,848 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-08 10:32:46,848 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-08 10:32:46,848 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-08 10:32:46,848 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-08 10:32:46,848 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-08 10:32:46,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:46,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [594319711] [2022-04-08 10:32:46,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [594319711] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:46,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1742303404] [2022-04-08 10:32:46,848 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:32:46,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:46,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:46,849 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-08 10:32:46,850 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-08 10:32:46,914 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:32:46,914 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:46,915 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:32:46,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:46,928 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:47,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {59474#true} call ULTIMATE.init(); {59474#true} is VALID [2022-04-08 10:32:47,665 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-08 10:32:47,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-08 10:32:47,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-08 10:32:47,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-08 10:32:47,666 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-08 10:32:47,666 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-08 10:32:47,666 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-08 10:32:47,666 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-08 10:32:47,667 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-08 10:32:47,667 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-08 10:32:47,668 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-08 10:32:47,668 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-08 10:32:47,669 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-08 10:32:47,669 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-08 10:32:47,669 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-08 10:32:47,670 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-08 10:32:47,670 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-08 10:32:47,670 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-08 10:32:47,671 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-08 10:32:47,671 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-08 10:32:47,671 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-08 10:32:47,672 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-08 10:32:47,672 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-08 10:32:47,673 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-08 10:32:47,673 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-08 10:32:47,673 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-08 10:32:47,673 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-08 10:32:47,674 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-08 10:32:47,675 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-08 10:32:47,675 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-08 10:32:47,676 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-08 10:32:47,676 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-08 10:32:47,676 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-08 10:32:47,676 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-08 10:32:47,677 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-08 10:32:47,677 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-08 10:32:47,677 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-08 10:32:47,677 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-08 10:32:47,678 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-08 10:32:47,678 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-08 10:32:47,679 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-08 10:32:47,679 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-08 10:32:47,679 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-08 10:32:47,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-08 10:32:47,679 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-08 10:32:47,679 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-08 10:32:47,679 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-08 10:32:47,679 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:48,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {59475#false} assume !false; {59475#false} is VALID [2022-04-08 10:32:48,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {59475#false} assume 0 == ~cond; {59475#false} is VALID [2022-04-08 10:32:48,748 INFO L290 TraceCheckUtils]: 44: Hoare triple {59475#false} ~cond := #in~cond; {59475#false} is VALID [2022-04-08 10:32:48,748 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-08 10:32:48,748 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-08 10:32:48,760 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-08 10:32:48,761 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-08 10:32:48,761 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-08 10:32:48,761 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-08 10:32:48,762 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-08 10:32:48,762 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-08 10:32:48,762 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-08 10:32:48,762 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-08 10:32:48,763 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-08 10:32:48,763 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-08 10:32:48,763 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-08 10:32:48,764 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-08 10:32:48,765 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-08 10:32:48,765 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-08 10:32:48,765 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-08 10:32:48,766 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-08 10:32:48,766 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-08 10:32:48,767 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-08 10:32:48,767 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-08 10:32:48,767 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-08 10:32:48,767 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-08 10:32:48,768 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-08 10:32:48,768 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-08 10:32:48,768 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-08 10:32:48,769 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-08 10:32:48,769 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-08 10:32:48,769 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-08 10:32:48,770 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-08 10:32:48,770 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-08 10:32:48,770 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-08 10:32:48,771 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-08 10:32:48,771 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-08 10:32:48,772 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-08 10:32:48,772 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-08 10:32:48,773 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-08 10:32:48,773 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-08 10:32:48,773 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-08 10:32:48,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {59474#true} call #t~ret10 := main(); {59474#true} is VALID [2022-04-08 10:32:48,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59474#true} {59474#true} #117#return; {59474#true} is VALID [2022-04-08 10:32:48,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {59474#true} assume true; {59474#true} is VALID [2022-04-08 10:32:48,773 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-08 10:32:48,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {59474#true} call ULTIMATE.init(); {59474#true} is VALID [2022-04-08 10:32:48,773 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-08 10:32:48,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1742303404] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:48,773 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:48,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-08 10:32:48,773 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:48,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [580625112] [2022-04-08 10:32:48,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [580625112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:48,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:48,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:32:48,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2098406772] [2022-04-08 10:32:48,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:48,774 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-08 10:32:48,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:48,774 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-08 10:32:48,801 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-08 10:32:48,801 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:32:48,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:48,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:32:48,802 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 10:32:48,802 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-08 10:32:53,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:53,781 INFO L93 Difference]: Finished difference Result 368 states and 427 transitions. [2022-04-08 10:32:53,781 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:32:53,781 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-08 10:32:53,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:53,782 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-08 10:32:53,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 10:32:53,782 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-08 10:32:53,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 10:32:53,783 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2022-04-08 10:32:53,868 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-08 10:32:53,878 INFO L225 Difference]: With dead ends: 368 [2022-04-08 10:32:53,878 INFO L226 Difference]: Without dead ends: 346 [2022-04-08 10:32:53,881 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 76 SyntacticMatches, 6 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 251 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=199, Invalid=1781, Unknown=0, NotChecked=0, Total=1980 [2022-04-08 10:32:53,881 INFO L913 BasicCegarLoop]: 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-08 10:32:53,881 INFO L914 BasicCegarLoop]: 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-08 10:32:53,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-08 10:32:57,118 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 344. [2022-04-08 10:32:57,118 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:57,119 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-08 10:32:57,119 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-08 10:32:57,119 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-08 10:32:57,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:57,125 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-08 10:32:57,125 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-08 10:32:57,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:57,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:57,126 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-08 10:32:57,126 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-08 10:32:57,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:57,131 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-08 10:32:57,131 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-08 10:32:57,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:57,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:57,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:57,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:57,132 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-08 10:32:57,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 398 transitions. [2022-04-08 10:32:57,139 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 398 transitions. Word has length 47 [2022-04-08 10:32:57,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:57,139 INFO L478 AbstractCegarLoop]: Abstraction has 344 states and 398 transitions. [2022-04-08 10:32:57,139 INFO L479 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-08 10:32:57,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 398 transitions. [2022-04-08 10:32:57,904 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-08 10:32:57,904 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 398 transitions. [2022-04-08 10:32:57,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 10:32:57,905 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:57,905 INFO L499 BasicCegarLoop]: 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-08 10:32:57,924 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-08 10:32:58,106 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable47 [2022-04-08 10:32:58,106 INFO L403 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:58,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:58,106 INFO L85 PathProgramCache]: Analyzing trace with hash -448253169, now seen corresponding path program 77 times [2022-04-08 10:32:58,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:58,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1887373334] [2022-04-08 10:32:58,109 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:58,109 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:58,109 INFO L85 PathProgramCache]: Analyzing trace with hash -448253169, now seen corresponding path program 78 times [2022-04-08 10:32:58,109 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:58,109 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [964086245] [2022-04-08 10:32:58,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:58,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:58,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:58,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:58,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:58,152 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-08 10:32:58,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-08 10:32:58,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-08 10:32:58,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:58,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:58,280 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-08 10:32:58,280 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-08 10:32:58,280 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-08 10:32:58,281 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-08 10:32:58,281 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-08 10:32:58,282 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-08 10:32:58,282 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-08 10:32:58,283 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-08 10:32:58,284 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-08 10:32:58,284 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-08 10:32:58,284 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-08 10:32:58,285 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-08 10:32:58,285 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-08 10:32:58,285 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-08 10:32:58,285 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-08 10:32:58,286 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-08 10:32:58,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:32:58,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:58,467 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-08 10:32:58,468 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-08 10:32:58,468 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-08 10:32:58,469 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-08 10:32:58,469 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-08 10:32:58,470 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-08 10:32:58,470 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-08 10:32:58,471 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-08 10:32:58,471 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-08 10:32:58,472 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-08 10:32:58,472 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-08 10:32:58,472 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-08 10:32:58,473 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-08 10:32:58,473 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-08 10:32:58,473 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-08 10:32:58,473 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-08 10:32:58,474 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-08 10:32:58,475 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-08 10:32:58,475 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-08 10:32:58,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-08 10:32:58,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-08 10:32:58,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-08 10:32:58,475 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-08 10:32:58,475 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-08 10:32:58,475 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-08 10:32:58,475 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-08 10:32:58,476 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-08 10:32:58,476 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-08 10:32:58,476 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-08 10:32:58,477 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-08 10:32:58,477 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-08 10:32:58,478 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-08 10:32:58,478 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-08 10:32:58,479 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-08 10:32:58,479 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-08 10:32:58,480 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-08 10:32:58,480 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-08 10:32:58,480 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-08 10:32:58,481 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-08 10:32:58,481 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-08 10:32:58,482 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-08 10:32:58,482 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-08 10:32:58,482 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-08 10:32:58,482 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-08 10:32:58,483 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-08 10:32:58,483 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-08 10:32:58,483 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-08 10:32:58,484 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-08 10:32:58,484 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-08 10:32:58,485 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-08 10:32:58,485 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-08 10:32:58,486 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-08 10:32:58,486 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-08 10:32:58,487 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-08 10:32:58,487 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-08 10:32:58,487 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-08 10:32:58,488 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-08 10:32:58,488 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-08 10:32:58,488 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-08 10:32:58,489 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-08 10:32:58,489 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-08 10:32:58,489 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-08 10:32:58,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-08 10:32:58,489 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-08 10:32:58,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-08 10:32:58,489 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-08 10:32:58,489 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:58,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [964086245] [2022-04-08 10:32:58,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [964086245] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:58,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1084463450] [2022-04-08 10:32:58,490 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:32:58,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:58,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:58,490 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-08 10:32:58,492 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-08 10:32:58,575 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:32:58,575 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:58,576 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:32:58,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:58,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:59,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {61963#true} call ULTIMATE.init(); {61963#true} is VALID [2022-04-08 10:32:59,657 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-08 10:32:59,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-08 10:32:59,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-08 10:32:59,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-08 10:32:59,657 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-08 10:32:59,657 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-08 10:32:59,657 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-08 10:32:59,658 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-08 10:32:59,658 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-08 10:32:59,659 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-08 10:32:59,659 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-08 10:32:59,660 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-08 10:32:59,660 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-08 10:32:59,661 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-08 10:32:59,661 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-08 10:32:59,662 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-08 10:32:59,662 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-08 10:32:59,663 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-08 10:32:59,663 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-08 10:32:59,663 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-08 10:32:59,663 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-08 10:32:59,664 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-08 10:32:59,664 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-08 10:32:59,665 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-08 10:32:59,665 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-08 10:32:59,665 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-08 10:32:59,666 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-08 10:32:59,666 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-08 10:32:59,666 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-08 10:32:59,667 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-08 10:32:59,667 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-08 10:32:59,668 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-08 10:32:59,669 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-08 10:32:59,669 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-08 10:32:59,670 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-08 10:32:59,670 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-08 10:32:59,670 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-08 10:32:59,670 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-08 10:32:59,671 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-08 10:32:59,671 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-08 10:32:59,671 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-08 10:32:59,672 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-08 10:32:59,672 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-08 10:32:59,672 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-08 10:32:59,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-08 10:32:59,672 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-08 10:32:59,672 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-08 10:32:59,672 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-08 10:32:59,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:01,383 INFO L290 TraceCheckUtils]: 47: Hoare triple {61964#false} assume !false; {61964#false} is VALID [2022-04-08 10:33:01,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {61964#false} assume 0 == ~cond; {61964#false} is VALID [2022-04-08 10:33:01,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {61964#false} ~cond := #in~cond; {61964#false} is VALID [2022-04-08 10:33:01,383 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-08 10:33:01,383 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-08 10:33:01,384 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-08 10:33:01,384 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-08 10:33:01,385 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-08 10:33:01,385 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-08 10:33:01,385 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-08 10:33:01,385 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-08 10:33:01,386 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-08 10:33:01,386 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-08 10:33:01,387 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-08 10:33:01,387 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-08 10:33:01,388 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-08 10:33:01,388 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-08 10:33:01,389 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-08 10:33:01,389 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-08 10:33:01,389 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-08 10:33:01,390 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-08 10:33:01,390 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-08 10:33:01,390 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-08 10:33:01,391 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-08 10:33:01,391 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-08 10:33:01,392 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-08 10:33:01,392 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-08 10:33:01,392 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-08 10:33:01,392 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-08 10:33:01,393 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-08 10:33:01,393 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-08 10:33:01,394 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-08 10:33:01,394 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-08 10:33:01,395 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-08 10:33:01,395 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-08 10:33:01,396 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-08 10:33:01,396 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-08 10:33:01,397 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-08 10:33:01,397 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-08 10:33:01,397 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-08 10:33:01,397 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-08 10:33:01,398 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-08 10:33:01,398 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-08 10:33:01,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {61963#true} call #t~ret10 := main(); {61963#true} is VALID [2022-04-08 10:33:01,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61963#true} {61963#true} #117#return; {61963#true} is VALID [2022-04-08 10:33:01,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {61963#true} assume true; {61963#true} is VALID [2022-04-08 10:33:01,398 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-08 10:33:01,398 INFO L272 TraceCheckUtils]: 0: Hoare triple {61963#true} call ULTIMATE.init(); {61963#true} is VALID [2022-04-08 10:33:01,398 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-08 10:33:01,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1084463450] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:01,398 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:01,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-08 10:33:01,398 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:01,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1887373334] [2022-04-08 10:33:01,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1887373334] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:01,399 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:01,399 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:33:01,399 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [832830048] [2022-04-08 10:33:01,399 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:01,399 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-08 10:33:01,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:01,399 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-08 10:33:01,430 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-08 10:33:01,430 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:33:01,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:01,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:33:01,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-08 10:33:01,431 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-08 10:33:08,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:08,822 INFO L93 Difference]: Finished difference Result 410 states and 477 transitions. [2022-04-08 10:33:08,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 10:33:08,822 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-08 10:33:08,822 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:08,822 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-08 10:33:08,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 146 transitions. [2022-04-08 10:33:08,823 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-08 10:33:08,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 146 transitions. [2022-04-08 10:33:08,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 146 transitions. [2022-04-08 10:33:08,943 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-08 10:33:08,953 INFO L225 Difference]: With dead ends: 410 [2022-04-08 10:33:08,953 INFO L226 Difference]: Without dead ends: 396 [2022-04-08 10:33:08,955 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 562 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=273, Invalid=4017, Unknown=0, NotChecked=0, Total=4290 [2022-04-08 10:33:08,955 INFO L913 BasicCegarLoop]: 86 mSDtfsCounter, 169 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 2063 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:08,956 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [179 Valid, 173 Invalid, 2085 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 2063 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 10:33:08,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-08 10:33:12,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 387. [2022-04-08 10:33:12,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:12,789 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-08 10:33:12,790 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-08 10:33:12,790 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-08 10:33:12,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:12,797 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-08 10:33:12,797 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-08 10:33:12,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:12,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:12,798 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-08 10:33:12,798 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-08 10:33:12,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:12,808 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-08 10:33:12,808 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-08 10:33:12,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:12,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:12,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:12,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:12,811 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-08 10:33:12,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 449 transitions. [2022-04-08 10:33:12,823 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 449 transitions. Word has length 48 [2022-04-08 10:33:12,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:12,824 INFO L478 AbstractCegarLoop]: Abstraction has 387 states and 449 transitions. [2022-04-08 10:33:12,824 INFO L479 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-08 10:33:12,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 449 transitions. [2022-04-08 10:33:13,704 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-08 10:33:13,704 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 449 transitions. [2022-04-08 10:33:13,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 10:33:13,705 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:13,706 INFO L499 BasicCegarLoop]: 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-08 10:33:13,722 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-08 10:33:13,906 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-08 10:33:13,906 INFO L403 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:13,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:13,907 INFO L85 PathProgramCache]: Analyzing trace with hash 827987660, now seen corresponding path program 79 times [2022-04-08 10:33:13,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:13,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [915664299] [2022-04-08 10:33:13,910 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:13,910 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:13,910 INFO L85 PathProgramCache]: Analyzing trace with hash 827987660, now seen corresponding path program 80 times [2022-04-08 10:33:13,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:13,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276240536] [2022-04-08 10:33:13,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:13,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:13,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:13,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:13,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:13,950 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-08 10:33:13,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-08 10:33:13,950 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-08 10:33:13,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:13,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:14,075 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-08 10:33:14,075 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-08 10:33:14,076 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-08 10:33:14,076 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-08 10:33:14,077 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-08 10:33:14,077 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-08 10:33:14,078 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-08 10:33:14,078 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-08 10:33:14,089 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-08 10:33:14,090 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-08 10:33:14,090 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-08 10:33:14,090 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-08 10:33:14,091 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-08 10:33:14,091 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-08 10:33:14,091 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-08 10:33:14,091 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-08 10:33:14,092 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-08 10:33:14,092 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:33:14,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:14,274 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-08 10:33:14,274 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-08 10:33:14,275 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-08 10:33:14,275 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-08 10:33:14,276 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-08 10:33:14,276 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-08 10:33:14,277 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-08 10:33:14,277 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-08 10:33:14,278 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-08 10:33:14,278 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-08 10:33:14,278 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-08 10:33:14,279 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-08 10:33:14,279 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-08 10:33:14,279 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-08 10:33:14,279 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-08 10:33:14,280 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-08 10:33:14,281 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-08 10:33:14,281 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-08 10:33:14,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-08 10:33:14,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-08 10:33:14,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-08 10:33:14,281 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-08 10:33:14,281 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-08 10:33:14,281 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-08 10:33:14,281 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-08 10:33:14,282 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-08 10:33:14,282 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-08 10:33:14,282 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-08 10:33:14,283 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-08 10:33:14,283 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-08 10:33:14,284 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-08 10:33:14,284 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-08 10:33:14,285 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-08 10:33:14,285 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-08 10:33:14,286 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-08 10:33:14,286 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-08 10:33:14,286 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-08 10:33:14,287 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-08 10:33:14,287 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-08 10:33:14,287 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-08 10:33:14,288 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-08 10:33:14,288 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-08 10:33:14,288 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-08 10:33:14,289 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-08 10:33:14,289 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-08 10:33:14,289 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-08 10:33:14,290 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-08 10:33:14,290 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-08 10:33:14,291 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-08 10:33:14,291 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-08 10:33:14,292 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-08 10:33:14,292 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-08 10:33:14,293 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-08 10:33:14,293 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-08 10:33:14,293 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-08 10:33:14,294 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-08 10:33:14,294 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-08 10:33:14,294 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-08 10:33:14,295 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-08 10:33:14,295 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-08 10:33:14,295 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-08 10:33:14,295 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-08 10:33:14,295 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-08 10:33:14,295 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-08 10:33:14,295 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-08 10:33:14,295 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:14,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276240536] [2022-04-08 10:33:14,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [276240536] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:14,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1161056906] [2022-04-08 10:33:14,296 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:33:14,296 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:14,296 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:14,297 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-08 10:33:14,298 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-08 10:33:14,368 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:33:14,368 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:14,369 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:33:14,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:14,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:15,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {64755#true} call ULTIMATE.init(); {64755#true} is VALID [2022-04-08 10:33:15,991 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-08 10:33:15,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-08 10:33:15,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-08 10:33:15,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-08 10:33:15,991 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-08 10:33:15,992 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-08 10:33:15,992 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-08 10:33:15,992 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-08 10:33:15,992 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-08 10:33:15,993 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-08 10:33:15,993 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-08 10:33:15,994 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-08 10:33:15,994 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-08 10:33:15,995 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-08 10:33:15,995 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-08 10:33:15,996 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-08 10:33:15,996 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-08 10:33:15,997 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-08 10:33:15,997 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-08 10:33:15,997 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-08 10:33:15,998 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-08 10:33:15,998 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-08 10:33:15,998 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-08 10:33:15,999 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-08 10:33:15,999 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-08 10:33:15,999 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-08 10:33:16,000 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-08 10:33:16,001 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-08 10:33:16,001 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-08 10:33:16,002 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-08 10:33:16,002 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-08 10:33:16,003 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-08 10:33:16,003 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-08 10:33:16,004 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-08 10:33:16,004 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-08 10:33:16,005 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-08 10:33:16,005 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-08 10:33:16,005 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-08 10:33:16,005 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-08 10:33:16,006 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-08 10:33:16,006 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-08 10:33:16,007 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-08 10:33:16,007 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-08 10:33:16,007 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-08 10:33:16,007 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-08 10:33:16,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-08 10:33:16,007 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-08 10:33:16,007 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-08 10:33:16,007 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:17,674 INFO L290 TraceCheckUtils]: 47: Hoare triple {64756#false} assume !false; {64756#false} is VALID [2022-04-08 10:33:17,674 INFO L290 TraceCheckUtils]: 46: Hoare triple {64756#false} assume 0 == ~cond; {64756#false} is VALID [2022-04-08 10:33:17,674 INFO L290 TraceCheckUtils]: 45: Hoare triple {64756#false} ~cond := #in~cond; {64756#false} is VALID [2022-04-08 10:33:17,674 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-08 10:33:17,674 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-08 10:33:17,675 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-08 10:33:17,675 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-08 10:33:17,676 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-08 10:33:17,676 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-08 10:33:17,676 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-08 10:33:17,676 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-08 10:33:17,677 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-08 10:33:17,677 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-08 10:33:17,678 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-08 10:33:17,678 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-08 10:33:17,679 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-08 10:33:17,679 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-08 10:33:17,680 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-08 10:33:17,680 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-08 10:33:17,680 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-08 10:33:17,681 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-08 10:33:17,681 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-08 10:33:17,681 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-08 10:33:17,682 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-08 10:33:17,682 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-08 10:33:17,682 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-08 10:33:17,683 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-08 10:33:17,683 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-08 10:33:17,683 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-08 10:33:17,684 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-08 10:33:17,684 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-08 10:33:17,684 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-08 10:33:17,685 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-08 10:33:17,686 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-08 10:33:17,686 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-08 10:33:17,687 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-08 10:33:17,687 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-08 10:33:17,688 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-08 10:33:17,688 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-08 10:33:17,688 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-08 10:33:17,688 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-08 10:33:17,688 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-08 10:33:17,689 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-08 10:33:17,689 INFO L272 TraceCheckUtils]: 4: Hoare triple {64755#true} call #t~ret10 := main(); {64755#true} is VALID [2022-04-08 10:33:17,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64755#true} {64755#true} #117#return; {64755#true} is VALID [2022-04-08 10:33:17,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {64755#true} assume true; {64755#true} is VALID [2022-04-08 10:33:17,689 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-08 10:33:17,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {64755#true} call ULTIMATE.init(); {64755#true} is VALID [2022-04-08 10:33:17,689 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-08 10:33:17,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1161056906] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:17,689 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:17,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-08 10:33:17,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:17,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [915664299] [2022-04-08 10:33:17,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [915664299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:17,690 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:17,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:33:17,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576519129] [2022-04-08 10:33:17,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:17,690 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-08 10:33:17,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:17,690 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-08 10:33:17,722 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-08 10:33:17,722 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:33:17,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:17,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:33:17,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-08 10:33:17,723 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-08 10:33:25,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:25,264 INFO L93 Difference]: Finished difference Result 402 states and 464 transitions. [2022-04-08 10:33:25,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 10:33:25,264 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-08 10:33:25,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:25,264 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-08 10:33:25,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 145 transitions. [2022-04-08 10:33:25,265 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-08 10:33:25,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 145 transitions. [2022-04-08 10:33:25,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 145 transitions. [2022-04-08 10:33:25,380 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-08 10:33:25,389 INFO L225 Difference]: With dead ends: 402 [2022-04-08 10:33:25,389 INFO L226 Difference]: Without dead ends: 390 [2022-04-08 10:33:25,391 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 572 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=273, Invalid=4017, Unknown=0, NotChecked=0, Total=4290 [2022-04-08 10:33:25,391 INFO L913 BasicCegarLoop]: 88 mSDtfsCounter, 177 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 2096 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:25,391 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [190 Valid, 175 Invalid, 2117 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 2096 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 10:33:25,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-08 10:33:29,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 388. [2022-04-08 10:33:29,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:29,321 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-08 10:33:29,322 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-08 10:33:29,322 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-08 10:33:29,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:29,329 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-08 10:33:29,329 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-08 10:33:29,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:29,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:29,330 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-08 10:33:29,330 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-08 10:33:29,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:29,337 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-08 10:33:29,337 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-08 10:33:29,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:29,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:29,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:29,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:29,338 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-08 10:33:29,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 388 states to 388 states and 447 transitions. [2022-04-08 10:33:29,346 INFO L78 Accepts]: Start accepts. Automaton has 388 states and 447 transitions. Word has length 48 [2022-04-08 10:33:29,346 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:29,346 INFO L478 AbstractCegarLoop]: Abstraction has 388 states and 447 transitions. [2022-04-08 10:33:29,346 INFO L479 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-08 10:33:29,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 388 states and 447 transitions. [2022-04-08 10:33:30,223 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-08 10:33:30,224 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 447 transitions. [2022-04-08 10:33:30,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 10:33:30,225 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:30,225 INFO L499 BasicCegarLoop]: 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-08 10:33:30,241 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-08 10:33:30,425 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable49 [2022-04-08 10:33:30,426 INFO L403 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:30,426 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:30,426 INFO L85 PathProgramCache]: Analyzing trace with hash 179082418, now seen corresponding path program 81 times [2022-04-08 10:33:30,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:30,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1803282016] [2022-04-08 10:33:30,429 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:30,429 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:30,429 INFO L85 PathProgramCache]: Analyzing trace with hash 179082418, now seen corresponding path program 82 times [2022-04-08 10:33:30,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:30,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019758529] [2022-04-08 10:33:30,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:30,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:30,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,454 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:30,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,459 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-08 10:33:30,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,459 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-08 10:33:30,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:30,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,525 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-08 10:33:30,525 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-08 10:33:30,526 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-08 10:33:30,526 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-08 10:33:30,527 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-08 10:33:30,527 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-08 10:33:30,527 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-08 10:33:30,527 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-08 10:33:30,528 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-08 10:33:30,528 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-08 10:33:30,529 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-08 10:33:30,529 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-08 10:33:30,529 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-08 10:33:30,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-08 10:33:30,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-08 10:33:30,529 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-08 10:33:30,530 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-08 10:33:30,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,536 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-08 10:33:30,536 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-08 10:33:30,536 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-08 10:33:30,536 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-08 10:33:30,536 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-08 10:33:30,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-08 10:33:30,536 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-08 10:33:30,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-08 10:33:30,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-08 10:33:30,537 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-08 10:33:30,537 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-08 10:33:30,537 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-08 10:33:30,537 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-08 10:33:30,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-08 10:33:30,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-08 10:33:30,537 INFO L290 TraceCheckUtils]: 15: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-08 10:33:30,537 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-08 10:33:30,537 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-08 10:33:30,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-08 10:33:30,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-08 10:33:30,538 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-08 10:33:30,538 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-08 10:33:30,538 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-08 10:33:30,538 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-08 10:33:30,538 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-08 10:33:30,539 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-08 10:33:30,539 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-08 10:33:30,540 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-08 10:33:30,540 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-08 10:33:30,540 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-08 10:33:30,540 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-08 10:33:30,541 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-08 10:33:30,541 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-08 10:33:30,542 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-08 10:33:30,542 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-08 10:33:30,542 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-08 10:33:30,542 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-08 10:33:30,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-08 10:33:30,543 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 INFO L290 TraceCheckUtils]: 31: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-08 10:33:30,543 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-08 10:33:30,543 INFO L290 TraceCheckUtils]: 33: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-08 10:33:30,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 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-08 10:33:30,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-08 10:33:30,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-08 10:33:30,543 INFO L290 TraceCheckUtils]: 41: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,544 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-08 10:33:30,544 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-08 10:33:30,544 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-08 10:33:30,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-08 10:33:30,544 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-08 10:33:30,544 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-08 10:33:30,544 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-08 10:33:30,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:30,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019758529] [2022-04-08 10:33:30,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2019758529] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:30,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1773367085] [2022-04-08 10:33:30,544 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:33:30,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:30,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:30,545 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-08 10:33:30,546 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-08 10:33:30,612 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:33:30,612 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:30,613 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 10:33:30,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:30,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {67521#true} call ULTIMATE.init(); {67521#true} is VALID [2022-04-08 10:33:30,808 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-08 10:33:30,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-08 10:33:30,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-08 10:33:30,809 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-08 10:33:30,809 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-08 10:33:30,809 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-08 10:33:30,809 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-08 10:33:30,809 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-08 10:33:30,810 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-08 10:33:30,810 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-08 10:33:30,811 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-08 10:33:30,811 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-08 10:33:30,811 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-08 10:33:30,811 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-08 10:33:30,812 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-08 10:33:30,812 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-08 10:33:30,813 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-08 10:33:30,813 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-08 10:33:30,813 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-08 10:33:30,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-08 10:33:30,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-08 10:33:30,814 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 INFO L290 TraceCheckUtils]: 31: Hoare triple {67522#false} assume !(~b~1 < ~n); {67522#false} is VALID [2022-04-08 10:33:30,814 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-08 10:33:30,814 INFO L290 TraceCheckUtils]: 33: Hoare triple {67522#false} assume !(~l~1 < ~m); {67522#false} is VALID [2022-04-08 10:33:30,814 INFO L290 TraceCheckUtils]: 34: Hoare triple {67522#false} ~x~1 := 0;~y~1 := 0; {67522#false} is VALID [2022-04-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 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-08 10:33:30,814 INFO L290 TraceCheckUtils]: 39: Hoare triple {67522#false} assume !(~x~1 < ~i~1); {67522#false} is VALID [2022-04-08 10:33:30,815 INFO L290 TraceCheckUtils]: 40: Hoare triple {67522#false} #res := ~y~1; {67522#false} is VALID [2022-04-08 10:33:30,815 INFO L290 TraceCheckUtils]: 41: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-08 10:33:30,815 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67522#false} {67522#false} #113#return; {67522#false} is VALID [2022-04-08 10:33:30,815 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-08 10:33:30,815 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-08 10:33:30,815 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-08 10:33:30,815 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-08 10:33:30,815 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-08 10:33:30,815 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-08 10:33:30,815 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:30,995 INFO L290 TraceCheckUtils]: 47: Hoare triple {67522#false} assume !false; {67522#false} is VALID [2022-04-08 10:33:30,996 INFO L290 TraceCheckUtils]: 46: Hoare triple {67522#false} assume 0 == ~cond; {67522#false} is VALID [2022-04-08 10:33:30,996 INFO L290 TraceCheckUtils]: 45: Hoare triple {67522#false} ~cond := #in~cond; {67522#false} is VALID [2022-04-08 10:33:30,996 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-08 10:33:30,996 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-08 10:33:30,996 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {67521#true} {67522#false} #113#return; {67522#false} is VALID [2022-04-08 10:33:30,996 INFO L290 TraceCheckUtils]: 41: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:30,996 INFO L290 TraceCheckUtils]: 40: Hoare triple {67521#true} #res := ~y~1; {67521#true} is VALID [2022-04-08 10:33:30,996 INFO L290 TraceCheckUtils]: 39: Hoare triple {67521#true} assume !(~x~1 < ~i~1); {67521#true} is VALID [2022-04-08 10:33:30,996 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 INFO L290 TraceCheckUtils]: 34: Hoare triple {67521#true} ~x~1 := 0;~y~1 := 0; {67521#true} is VALID [2022-04-08 10:33:30,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {67521#true} assume !(~l~1 < ~m); {67521#true} is VALID [2022-04-08 10:33:30,997 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-08 10:33:30,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {67521#true} assume !(~b~1 < ~n); {67521#true} is VALID [2022-04-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,997 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-08 10:33:30,998 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-08 10:33:30,998 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {67522#false} {67521#true} #111#return; {67522#false} is VALID [2022-04-08 10:33:30,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {67522#false} assume true; {67522#false} is VALID [2022-04-08 10:33:30,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {67522#false} #res := ~y~0; {67522#false} is VALID [2022-04-08 10:33:30,998 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-08 10:33:30,999 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-08 10:33:30,999 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-08 10:33:31,000 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-08 10:33:31,000 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-08 10:33:31,001 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-08 10:33:31,001 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-08 10:33:31,001 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-08 10:33:31,002 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-08 10:33:31,003 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-08 10:33:31,003 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-08 10:33:31,004 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-08 10:33:31,004 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-08 10:33:31,004 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-08 10:33:31,004 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-08 10:33:31,004 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-08 10:33:31,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {67521#true} call #t~ret10 := main(); {67521#true} is VALID [2022-04-08 10:33:31,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67521#true} {67521#true} #117#return; {67521#true} is VALID [2022-04-08 10:33:31,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {67521#true} assume true; {67521#true} is VALID [2022-04-08 10:33:31,005 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-08 10:33:31,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {67521#true} call ULTIMATE.init(); {67521#true} is VALID [2022-04-08 10:33:31,005 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-08 10:33:31,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1773367085] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:31,005 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:31,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-08 10:33:31,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:31,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1803282016] [2022-04-08 10:33:31,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1803282016] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:31,006 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:31,006 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:33:31,006 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1828118685] [2022-04-08 10:33:31,006 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:31,006 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-08 10:33:31,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:31,006 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-08 10:33:31,034 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-08 10:33:31,035 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:33:31,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:31,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:33:31,035 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-08 10:33:31,035 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-08 10:33:35,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:35,488 INFO L93 Difference]: Finished difference Result 593 states and 672 transitions. [2022-04-08 10:33:35,488 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:33:35,488 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-08 10:33:35,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:35,488 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-08 10:33:35,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-08 10:33:35,489 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-08 10:33:35,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-08 10:33:35,490 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 97 transitions. [2022-04-08 10:33:35,557 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-08 10:33:35,568 INFO L225 Difference]: With dead ends: 593 [2022-04-08 10:33:35,568 INFO L226 Difference]: Without dead ends: 383 [2022-04-08 10:33:35,572 INFO L912 BasicCegarLoop]: 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-08 10:33:35,572 INFO L913 BasicCegarLoop]: 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-08 10:33:35,572 INFO L914 BasicCegarLoop]: 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-08 10:33:35,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2022-04-08 10:33:39,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 375. [2022-04-08 10:33:39,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:39,425 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-08 10:33:39,425 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-08 10:33:39,426 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-08 10:33:39,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:39,434 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-08 10:33:39,434 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-08 10:33:39,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:39,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:39,436 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-08 10:33:39,436 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-08 10:33:39,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:39,442 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-08 10:33:39,442 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-08 10:33:39,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:39,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:39,443 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:39,443 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:39,444 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-08 10:33:39,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 375 states to 375 states and 428 transitions. [2022-04-08 10:33:39,451 INFO L78 Accepts]: Start accepts. Automaton has 375 states and 428 transitions. Word has length 48 [2022-04-08 10:33:39,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:39,451 INFO L478 AbstractCegarLoop]: Abstraction has 375 states and 428 transitions. [2022-04-08 10:33:39,451 INFO L479 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-08 10:33:39,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 375 states and 428 transitions. [2022-04-08 10:33:40,290 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-08 10:33:40,290 INFO L276 IsEmpty]: Start isEmpty. Operand 375 states and 428 transitions. [2022-04-08 10:33:40,291 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-08 10:33:40,291 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:40,291 INFO L499 BasicCegarLoop]: 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-08 10:33:40,308 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-08 10:33:40,499 WARN L460 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-08 10:33:40,499 INFO L403 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:40,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:40,500 INFO L85 PathProgramCache]: Analyzing trace with hash 2046793773, now seen corresponding path program 83 times [2022-04-08 10:33:40,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:40,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [660063791] [2022-04-08 10:33:40,502 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:40,502 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:40,502 INFO L85 PathProgramCache]: Analyzing trace with hash 2046793773, now seen corresponding path program 84 times [2022-04-08 10:33:40,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:40,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1780708330] [2022-04-08 10:33:40,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:40,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:40,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:40,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:40,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:40,548 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-08 10:33:40,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,548 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-08 10:33:40,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:40,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:40,555 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-08 10:33:40,555 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-08 10:33:40,555 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-08 10:33:40,556 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-08 10:33:40,556 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-08 10:33:40,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-08 10:33:40,556 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-08 10:33:40,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-08 10:33:40,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-08 10:33:40,556 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-08 10:33:40,556 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-08 10:33:40,556 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-08 10:33:40,556 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-08 10:33:40,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-08 10:33:40,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-08 10:33:40,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,557 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-08 10:33:40,557 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:33:40,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:40,634 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-08 10:33:40,635 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-08 10:33:40,635 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-08 10:33:40,636 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-08 10:33:40,636 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-08 10:33:40,637 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-08 10:33:40,637 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-08 10:33:40,637 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-08 10:33:40,638 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-08 10:33:40,638 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-08 10:33:40,639 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-08 10:33:40,640 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-08 10:33:40,640 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-08 10:33:40,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-08 10:33:40,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-08 10:33:40,640 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-08 10:33:40,641 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-08 10:33:40,642 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-08 10:33:40,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-08 10:33:40,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 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-08 10:33:40,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-08 10:33:40,643 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-08 10:33:40,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-08 10:33:40,643 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-08 10:33:40,643 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-08 10:33:40,643 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-08 10:33:40,643 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-08 10:33:40,643 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-08 10:33:40,643 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-08 10:33:40,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-08 10:33:40,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,643 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-08 10:33:40,643 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-08 10:33:40,644 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-08 10:33:40,644 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-08 10:33:40,644 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-08 10:33:40,645 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-08 10:33:40,646 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-08 10:33:40,646 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-08 10:33:40,646 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-08 10:33:40,647 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-08 10:33:40,647 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-08 10:33:40,647 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-08 10:33:40,648 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-08 10:33:40,649 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-08 10:33:40,649 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-08 10:33:40,650 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-08 10:33:40,650 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-08 10:33:40,650 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-08 10:33:40,650 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-08 10:33:40,650 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-08 10:33:40,650 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-08 10:33:40,650 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-08 10:33:40,650 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-08 10:33:40,650 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-08 10:33:40,650 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-08 10:33:40,650 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:40,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1780708330] [2022-04-08 10:33:40,651 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1780708330] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:40,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [309620198] [2022-04-08 10:33:40,651 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:33:40,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:40,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:40,653 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-08 10:33:40,654 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-08 10:33:40,744 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:33:40,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:40,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 10:33:40,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:40,757 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:40,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {70592#true} call ULTIMATE.init(); {70592#true} is VALID [2022-04-08 10:33:40,945 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-08 10:33:40,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-08 10:33:40,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-08 10:33:40,946 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-08 10:33:40,946 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-08 10:33:40,946 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-08 10:33:40,946 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-08 10:33:40,947 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-08 10:33:40,947 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-08 10:33:40,947 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-08 10:33:40,947 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-08 10:33:40,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-08 10:33:40,947 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-08 10:33:40,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-08 10:33:40,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-08 10:33:40,948 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-08 10:33:40,948 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-08 10:33:40,948 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-08 10:33:40,948 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-08 10:33:40,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-08 10:33:40,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-08 10:33:40,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:40,948 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-08 10:33:40,948 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-08 10:33:40,948 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-08 10:33:40,963 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-08 10:33:40,964 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-08 10:33:40,965 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-08 10:33:40,965 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-08 10:33:40,966 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-08 10:33:40,966 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-08 10:33:40,966 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-08 10:33:40,967 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-08 10:33:40,967 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-08 10:33:40,968 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-08 10:33:40,968 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-08 10:33:40,969 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-08 10:33:40,969 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-08 10:33:40,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-08 10:33:40,970 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-08 10:33:40,970 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-08 10:33:40,970 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-08 10:33:40,970 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-08 10:33:40,970 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-08 10:33:40,970 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-08 10:33:40,970 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-08 10:33:40,970 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-08 10:33:40,970 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:41,134 INFO L290 TraceCheckUtils]: 47: Hoare triple {70593#false} assume !false; {70593#false} is VALID [2022-04-08 10:33:41,134 INFO L290 TraceCheckUtils]: 46: Hoare triple {70593#false} assume 0 == ~cond; {70593#false} is VALID [2022-04-08 10:33:41,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {70593#false} ~cond := #in~cond; {70593#false} is VALID [2022-04-08 10:33:41,135 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-08 10:33:41,135 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-08 10:33:41,135 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {70593#false} {70592#true} #113#return; {70593#false} is VALID [2022-04-08 10:33:41,135 INFO L290 TraceCheckUtils]: 41: Hoare triple {70593#false} assume true; {70593#false} is VALID [2022-04-08 10:33:41,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {70593#false} #res := ~y~1; {70593#false} is VALID [2022-04-08 10:33:41,135 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-08 10:33:41,136 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-08 10:33:41,136 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-08 10:33:41,136 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-08 10:33:41,137 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-08 10:33:41,137 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-08 10:33:41,137 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-08 10:33:41,138 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-08 10:33:41,138 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-08 10:33:41,138 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-08 10:33:41,139 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-08 10:33:41,139 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-08 10:33:41,140 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-08 10:33:41,140 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-08 10:33:41,140 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-08 10:33:41,140 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70592#true} {70592#true} #111#return; {70592#true} is VALID [2022-04-08 10:33:41,140 INFO L290 TraceCheckUtils]: 23: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:41,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {70592#true} #res := ~y~0; {70592#true} is VALID [2022-04-08 10:33:41,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {70592#true} assume !(~x~0 < ~i~0); {70592#true} is VALID [2022-04-08 10:33:41,140 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-08 10:33:41,140 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-08 10:33:41,140 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-08 10:33:41,140 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-08 10:33:41,140 INFO L290 TraceCheckUtils]: 16: Hoare triple {70592#true} ~x~0 := 0;~y~0 := 0; {70592#true} is VALID [2022-04-08 10:33:41,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {70592#true} assume !(~l~0 < ~m); {70592#true} is VALID [2022-04-08 10:33:41,140 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-08 10:33:41,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {70592#true} assume !(~b~0 < ~n); {70592#true} is VALID [2022-04-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 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-08 10:33:41,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {70592#true} call #t~ret10 := main(); {70592#true} is VALID [2022-04-08 10:33:41,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70592#true} {70592#true} #117#return; {70592#true} is VALID [2022-04-08 10:33:41,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {70592#true} assume true; {70592#true} is VALID [2022-04-08 10:33:41,141 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-08 10:33:41,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {70592#true} call ULTIMATE.init(); {70592#true} is VALID [2022-04-08 10:33:41,141 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-08 10:33:41,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [309620198] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:41,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:41,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-08 10:33:41,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:41,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [660063791] [2022-04-08 10:33:41,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [660063791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:41,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:41,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:33:41,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512335264] [2022-04-08 10:33:41,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:41,142 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-08 10:33:41,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:41,142 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-08 10:33:41,167 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-08 10:33:41,167 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:33:41,167 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:41,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:33:41,167 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-08 10:33:41,168 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-08 10:33:45,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:45,541 INFO L93 Difference]: Finished difference Result 409 states and 468 transitions. [2022-04-08 10:33:45,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:33:45,542 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-08 10:33:45,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:45,542 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-08 10:33:45,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-08 10:33:45,543 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-08 10:33:45,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-08 10:33:45,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 84 transitions. [2022-04-08 10:33:45,613 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-08 10:33:45,620 INFO L225 Difference]: With dead ends: 409 [2022-04-08 10:33:45,620 INFO L226 Difference]: Without dead ends: 382 [2022-04-08 10:33:45,623 INFO L912 BasicCegarLoop]: 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-08 10:33:45,623 INFO L913 BasicCegarLoop]: 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-08 10:33:45,623 INFO L914 BasicCegarLoop]: 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-08 10:33:45,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-08 10:33:49,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-08 10:33:49,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:49,567 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-08 10:33:49,567 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-08 10:33:49,567 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-08 10:33:49,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:49,573 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-08 10:33:49,573 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-08 10:33:49,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:49,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:49,575 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-08 10:33:49,575 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-08 10:33:49,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:49,581 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-08 10:33:49,581 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-08 10:33:49,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:49,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:49,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:49,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:49,582 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-08 10:33:49,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 435 transitions. [2022-04-08 10:33:49,592 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 435 transitions. Word has length 48 [2022-04-08 10:33:49,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:49,592 INFO L478 AbstractCegarLoop]: Abstraction has 382 states and 435 transitions. [2022-04-08 10:33:49,592 INFO L479 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-08 10:33:49,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 382 states and 435 transitions. [2022-04-08 10:33:50,452 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-08 10:33:50,452 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-08 10:33:50,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:33:50,454 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:50,454 INFO L499 BasicCegarLoop]: 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-08 10:33:50,470 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-08 10:33:50,655 WARN L460 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-08 10:33:50,655 INFO L403 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:50,655 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:50,656 INFO L85 PathProgramCache]: Analyzing trace with hash -1121658739, now seen corresponding path program 85 times [2022-04-08 10:33:50,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:50,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [475264433] [2022-04-08 10:33:50,658 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:50,658 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:50,658 INFO L85 PathProgramCache]: Analyzing trace with hash -1121658739, now seen corresponding path program 86 times [2022-04-08 10:33:50,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:50,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608382931] [2022-04-08 10:33:50,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:50,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:50,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:50,745 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:50,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:50,748 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-08 10:33:50,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-08 10:33:50,748 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-08 10:33:50,748 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:50,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:50,921 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-08 10:33:50,921 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-08 10:33:50,921 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-08 10:33:50,922 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-08 10:33:50,922 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-08 10:33:50,923 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-08 10:33:50,923 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-08 10:33:50,924 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-08 10:33:50,924 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-08 10:33:50,925 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-08 10:33:50,925 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-08 10:33:50,925 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-08 10:33:50,926 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-08 10:33:50,926 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-08 10:33:50,926 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-08 10:33:50,927 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-08 10:33:50,927 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-08 10:33:50,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:33:50,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,176 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-08 10:33:51,176 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-08 10:33:51,177 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-08 10:33:51,177 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-08 10:33:51,178 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-08 10:33:51,178 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-08 10:33:51,179 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-08 10:33:51,179 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-08 10:33:51,179 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-08 10:33:51,180 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-08 10:33:51,180 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-08 10:33:51,181 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-08 10:33:51,181 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-08 10:33:51,181 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-08 10:33:51,182 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-08 10:33:51,182 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-08 10:33:51,183 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-08 10:33:51,183 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-08 10:33:51,183 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-08 10:33:51,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-08 10:33:51,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-08 10:33:51,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-08 10:33:51,184 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-08 10:33:51,184 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-08 10:33:51,184 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-08 10:33:51,184 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-08 10:33:51,184 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-08 10:33:51,185 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-08 10:33:51,185 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-08 10:33:51,186 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-08 10:33:51,186 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-08 10:33:51,187 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-08 10:33:51,187 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-08 10:33:51,188 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-08 10:33:51,188 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-08 10:33:51,188 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-08 10:33:51,189 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-08 10:33:51,189 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-08 10:33:51,189 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-08 10:33:51,190 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-08 10:33:51,190 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-08 10:33:51,191 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-08 10:33:51,191 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-08 10:33:51,191 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-08 10:33:51,192 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-08 10:33:51,192 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-08 10:33:51,192 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-08 10:33:51,193 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-08 10:33:51,193 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-08 10:33:51,194 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-08 10:33:51,194 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-08 10:33:51,194 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-08 10:33:51,195 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-08 10:33:51,195 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-08 10:33:51,196 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-08 10:33:51,196 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-08 10:33:51,197 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-08 10:33:51,197 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-08 10:33:51,197 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-08 10:33:51,197 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-08 10:33:51,198 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-08 10:33:51,199 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-08 10:33:51,199 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-08 10:33:51,200 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-08 10:33:51,200 INFO L290 TraceCheckUtils]: 47: Hoare triple {73351#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {73308#false} is VALID [2022-04-08 10:33:51,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-08 10:33:51,200 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-08 10:33:51,200 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:51,200 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608382931] [2022-04-08 10:33:51,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [608382931] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:51,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1145753988] [2022-04-08 10:33:51,209 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:33:51,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:51,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:51,211 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-08 10:33:51,212 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-08 10:33:51,285 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:33:51,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:51,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 10:33:51,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,297 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:51,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {73307#true} call ULTIMATE.init(); {73307#true} is VALID [2022-04-08 10:33:51,877 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-08 10:33:51,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-08 10:33:51,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-08 10:33:51,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-08 10:33:51,877 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-08 10:33:51,877 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-08 10:33:51,877 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-08 10:33:51,878 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-08 10:33:51,879 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-08 10:33:51,879 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-08 10:33:51,879 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-08 10:33:51,880 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-08 10:33:51,880 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-08 10:33:51,881 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-08 10:33:51,881 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-08 10:33:51,882 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-08 10:33:51,882 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-08 10:33:51,882 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-08 10:33:51,883 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-08 10:33:51,883 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-08 10:33:51,884 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-08 10:33:51,884 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-08 10:33:51,884 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-08 10:33:51,885 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-08 10:33:51,885 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-08 10:33:51,885 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-08 10:33:51,886 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-08 10:33:51,886 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-08 10:33:51,886 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-08 10:33:51,887 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-08 10:33:51,887 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-08 10:33:51,888 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-08 10:33:51,888 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-08 10:33:51,889 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-08 10:33:51,889 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-08 10:33:51,889 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-08 10:33:51,890 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-08 10:33:51,890 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-08 10:33:51,891 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-08 10:33:51,891 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-08 10:33:51,891 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-08 10:33:51,892 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-08 10:33:51,892 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-08 10:33:51,893 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-08 10:33:51,893 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-08 10:33:51,894 INFO L290 TraceCheckUtils]: 46: Hoare triple {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {73521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:33:51,894 INFO L290 TraceCheckUtils]: 47: Hoare triple {73521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {73308#false} is VALID [2022-04-08 10:33:51,894 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-08 10:33:51,894 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-08 10:33:51,894 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:52,349 INFO L290 TraceCheckUtils]: 48: Hoare triple {73308#false} assume !false; {73308#false} is VALID [2022-04-08 10:33:52,350 INFO L290 TraceCheckUtils]: 47: Hoare triple {73521#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {73308#false} is VALID [2022-04-08 10:33:52,350 INFO L290 TraceCheckUtils]: 46: Hoare triple {73517#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {73521#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:33:52,351 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-08 10:33:52,351 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-08 10:33:52,352 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-08 10:33:52,352 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-08 10:33:52,353 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-08 10:33:52,353 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-08 10:33:52,353 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-08 10:33:52,354 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-08 10:33:52,354 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-08 10:33:52,354 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-08 10:33:52,355 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-08 10:33:52,355 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-08 10:33:52,356 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-08 10:33:52,356 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-08 10:33:52,357 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-08 10:33:52,357 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-08 10:33:52,358 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-08 10:33:52,358 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-08 10:33:52,358 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-08 10:33:52,358 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-08 10:33:52,359 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-08 10:33:52,359 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-08 10:33:52,360 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-08 10:33:52,360 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-08 10:33:52,360 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-08 10:33:52,361 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-08 10:33:52,361 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-08 10:33:52,361 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-08 10:33:52,362 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-08 10:33:52,362 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-08 10:33:52,363 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-08 10:33:52,363 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-08 10:33:52,364 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-08 10:33:52,364 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-08 10:33:52,365 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-08 10:33:52,365 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-08 10:33:52,365 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-08 10:33:52,366 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-08 10:33:52,366 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-08 10:33:52,366 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-08 10:33:52,366 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-08 10:33:52,366 INFO L272 TraceCheckUtils]: 4: Hoare triple {73307#true} call #t~ret10 := main(); {73307#true} is VALID [2022-04-08 10:33:52,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73307#true} {73307#true} #117#return; {73307#true} is VALID [2022-04-08 10:33:52,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {73307#true} assume true; {73307#true} is VALID [2022-04-08 10:33:52,366 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-08 10:33:52,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {73307#true} call ULTIMATE.init(); {73307#true} is VALID [2022-04-08 10:33:52,366 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-08 10:33:52,366 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1145753988] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:52,366 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:52,366 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 37 [2022-04-08 10:33:52,367 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:52,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [475264433] [2022-04-08 10:33:52,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [475264433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:52,367 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:52,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-08 10:33:52,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2068331195] [2022-04-08 10:33:52,367 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:52,367 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-08 10:33:52,367 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:52,367 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-08 10:33:52,399 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-08 10:33:52,399 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-08 10:33:52,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:52,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-08 10:33:52,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1251, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:33:52,400 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-08 10:34:02,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:02,783 INFO L93 Difference]: Finished difference Result 460 states and 524 transitions. [2022-04-08 10:34:02,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-08 10:34:02,783 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-08 10:34:02,783 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:02,784 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-08 10:34:02,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-08 10:34:02,785 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-08 10:34:02,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-08 10:34:02,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 174 transitions. [2022-04-08 10:34:02,921 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-08 10:34:02,932 INFO L225 Difference]: With dead ends: 460 [2022-04-08 10:34:02,932 INFO L226 Difference]: Without dead ends: 454 [2022-04-08 10:34:02,935 INFO L912 BasicCegarLoop]: 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-08 10:34:02,935 INFO L913 BasicCegarLoop]: 89 mSDtfsCounter, 195 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 3738 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:02,936 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [203 Valid, 231 Invalid, 3782 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 3738 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-08 10:34:02,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 454 states. [2022-04-08 10:34:07,077 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 454 to 398. [2022-04-08 10:34:07,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:07,078 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-08 10:34:07,078 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-08 10:34:07,079 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-08 10:34:07,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:07,087 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-08 10:34:07,087 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-08 10:34:07,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:07,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:07,089 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-08 10:34:07,089 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-08 10:34:07,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:07,097 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-08 10:34:07,097 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-08 10:34:07,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:07,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:07,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:07,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:07,099 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-08 10:34:07,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 398 states to 398 states and 454 transitions. [2022-04-08 10:34:07,107 INFO L78 Accepts]: Start accepts. Automaton has 398 states and 454 transitions. Word has length 49 [2022-04-08 10:34:07,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:07,107 INFO L478 AbstractCegarLoop]: Abstraction has 398 states and 454 transitions. [2022-04-08 10:34:07,107 INFO L479 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-08 10:34:07,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 398 states and 454 transitions. [2022-04-08 10:34:08,007 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-08 10:34:08,007 INFO L276 IsEmpty]: Start isEmpty. Operand 398 states and 454 transitions. [2022-04-08 10:34:08,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:34:08,009 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:08,009 INFO L499 BasicCegarLoop]: 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-08 10:34:08,025 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-08 10:34:08,209 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-08 10:34:08,209 INFO L403 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:08,210 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:08,210 INFO L85 PathProgramCache]: Analyzing trace with hash -1142562995, now seen corresponding path program 87 times [2022-04-08 10:34:08,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:08,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1884225578] [2022-04-08 10:34:08,213 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:08,213 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:08,213 INFO L85 PathProgramCache]: Analyzing trace with hash -1142562995, now seen corresponding path program 88 times [2022-04-08 10:34:08,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:08,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1857134632] [2022-04-08 10:34:08,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:08,213 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:08,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:08,297 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:08,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:08,300 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-08 10:34:08,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-08 10:34:08,300 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-08 10:34:08,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:08,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:08,460 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-08 10:34:08,460 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-08 10:34:08,461 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-08 10:34:08,461 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-08 10:34:08,462 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-08 10:34:08,462 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-08 10:34:08,462 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-08 10:34:08,463 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-08 10:34:08,463 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-08 10:34:08,464 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-08 10:34:08,464 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-08 10:34:08,464 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-08 10:34:08,465 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-08 10:34:08,465 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-08 10:34:08,466 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-08 10:34:08,466 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-08 10:34:08,467 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-08 10:34:08,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:34:08,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:08,681 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-08 10:34:08,681 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-08 10:34:08,682 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-08 10:34:08,682 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-08 10:34:08,682 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-08 10:34:08,683 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-08 10:34:08,683 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-08 10:34:08,684 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-08 10:34:08,684 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-08 10:34:08,684 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-08 10:34:08,685 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-08 10:34:08,685 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-08 10:34:08,686 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-08 10:34:08,686 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-08 10:34:08,686 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-08 10:34:08,687 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-08 10:34:08,687 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-08 10:34:08,688 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-08 10:34:08,688 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-08 10:34:08,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-08 10:34:08,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-08 10:34:08,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-08 10:34:08,688 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-08 10:34:08,688 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-08 10:34:08,688 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-08 10:34:08,689 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-08 10:34:08,689 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-08 10:34:08,689 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-08 10:34:08,690 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-08 10:34:08,690 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-08 10:34:08,690 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-08 10:34:08,691 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-08 10:34:08,691 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-08 10:34:08,692 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-08 10:34:08,692 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-08 10:34:08,692 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-08 10:34:08,693 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-08 10:34:08,693 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-08 10:34:08,694 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-08 10:34:08,694 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-08 10:34:08,694 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-08 10:34:08,695 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-08 10:34:08,695 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-08 10:34:08,695 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-08 10:34:08,696 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-08 10:34:08,696 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-08 10:34:08,696 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-08 10:34:08,697 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-08 10:34:08,697 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-08 10:34:08,698 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-08 10:34:08,698 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-08 10:34:08,698 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-08 10:34:08,699 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-08 10:34:08,699 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-08 10:34:08,699 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-08 10:34:08,700 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-08 10:34:08,700 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-08 10:34:08,701 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-08 10:34:08,701 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-08 10:34:08,701 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-08 10:34:08,702 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-08 10:34:08,703 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-08 10:34:08,703 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-08 10:34:08,703 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-08 10:34:08,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {76401#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {76358#false} is VALID [2022-04-08 10:34:08,704 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-08 10:34:08,704 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-08 10:34:08,704 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:08,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1857134632] [2022-04-08 10:34:08,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1857134632] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:08,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [482199336] [2022-04-08 10:34:08,704 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:34:08,704 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:08,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:08,705 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-08 10:34:08,706 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-08 10:34:08,776 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:34:08,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:08,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 10:34:08,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:08,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:09,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {76357#true} call ULTIMATE.init(); {76357#true} is VALID [2022-04-08 10:34:09,527 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-08 10:34:09,527 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-08 10:34:09,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-08 10:34:09,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-08 10:34:09,527 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-08 10:34:09,527 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-08 10:34:09,527 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-08 10:34:09,528 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-08 10:34:09,528 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-08 10:34:09,528 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-08 10:34:09,529 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-08 10:34:09,529 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-08 10:34:09,530 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-08 10:34:09,530 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-08 10:34:09,530 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-08 10:34:09,531 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-08 10:34:09,531 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-08 10:34:09,532 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-08 10:34:09,532 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-08 10:34:09,533 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-08 10:34:09,533 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-08 10:34:09,533 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-08 10:34:09,533 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-08 10:34:09,534 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-08 10:34:09,535 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-08 10:34:09,535 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-08 10:34:09,535 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-08 10:34:09,535 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-08 10:34:09,536 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-08 10:34:09,536 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-08 10:34:09,536 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-08 10:34:09,537 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-08 10:34:09,537 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-08 10:34:09,538 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-08 10:34:09,538 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-08 10:34:09,539 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-08 10:34:09,539 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-08 10:34:09,539 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-08 10:34:09,540 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-08 10:34:09,540 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-08 10:34:09,540 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-08 10:34:09,541 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-08 10:34:09,541 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-08 10:34:09,542 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-08 10:34:09,542 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-08 10:34:09,543 INFO L290 TraceCheckUtils]: 46: Hoare triple {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {76571#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:09,543 INFO L290 TraceCheckUtils]: 47: Hoare triple {76571#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {76358#false} is VALID [2022-04-08 10:34:09,543 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-08 10:34:09,543 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-08 10:34:09,543 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:10,011 INFO L290 TraceCheckUtils]: 48: Hoare triple {76358#false} assume !false; {76358#false} is VALID [2022-04-08 10:34:10,011 INFO L290 TraceCheckUtils]: 47: Hoare triple {76571#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {76358#false} is VALID [2022-04-08 10:34:10,012 INFO L290 TraceCheckUtils]: 46: Hoare triple {76567#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {76571#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:10,012 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-08 10:34:10,013 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-08 10:34:10,013 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-08 10:34:10,014 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-08 10:34:10,014 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-08 10:34:10,014 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-08 10:34:10,015 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-08 10:34:10,015 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-08 10:34:10,016 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-08 10:34:10,016 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-08 10:34:10,017 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-08 10:34:10,017 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-08 10:34:10,017 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-08 10:34:10,018 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-08 10:34:10,018 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-08 10:34:10,019 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-08 10:34:10,019 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-08 10:34:10,019 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-08 10:34:10,020 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-08 10:34:10,020 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-08 10:34:10,020 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-08 10:34:10,021 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-08 10:34:10,021 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-08 10:34:10,021 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-08 10:34:10,022 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-08 10:34:10,022 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-08 10:34:10,023 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-08 10:34:10,023 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-08 10:34:10,023 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-08 10:34:10,024 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-08 10:34:10,024 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-08 10:34:10,025 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-08 10:34:10,025 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-08 10:34:10,026 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-08 10:34:10,026 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-08 10:34:10,026 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-08 10:34:10,027 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-08 10:34:10,027 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-08 10:34:10,027 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-08 10:34:10,027 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-08 10:34:10,027 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-08 10:34:10,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {76357#true} call #t~ret10 := main(); {76357#true} is VALID [2022-04-08 10:34:10,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76357#true} {76357#true} #117#return; {76357#true} is VALID [2022-04-08 10:34:10,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {76357#true} assume true; {76357#true} is VALID [2022-04-08 10:34:10,027 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-08 10:34:10,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {76357#true} call ULTIMATE.init(); {76357#true} is VALID [2022-04-08 10:34:10,028 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-08 10:34:10,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [482199336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:10,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:10,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 37 [2022-04-08 10:34:10,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:10,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1884225578] [2022-04-08 10:34:10,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1884225578] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:10,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:10,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-08 10:34:10,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [211069384] [2022-04-08 10:34:10,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:10,029 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-08 10:34:10,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:10,029 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-08 10:34:10,059 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-08 10:34:10,059 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-08 10:34:10,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:10,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-08 10:34:10,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1247, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:34:10,060 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-08 10:34:18,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:18,510 INFO L93 Difference]: Finished difference Result 404 states and 459 transitions. [2022-04-08 10:34:18,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 10:34:18,510 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-08 10:34:18,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:18,511 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-08 10:34:18,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-08 10:34:18,512 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-08 10:34:18,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-08 10:34:18,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 140 transitions. [2022-04-08 10:34:18,621 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-08 10:34:18,628 INFO L225 Difference]: With dead ends: 404 [2022-04-08 10:34:18,628 INFO L226 Difference]: Without dead ends: 382 [2022-04-08 10:34:18,630 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 606 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=228, Invalid=3804, Unknown=0, NotChecked=0, Total=4032 [2022-04-08 10:34:18,631 INFO L913 BasicCegarLoop]: 74 mSDtfsCounter, 134 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2854 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s 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, 2.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:18,631 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [137 Valid, 206 Invalid, 2885 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 2854 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-08 10:34:18,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-08 10:34:22,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-08 10:34:22,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:22,606 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-08 10:34:22,606 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-08 10:34:22,606 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-08 10:34:22,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:22,612 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-08 10:34:22,612 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-08 10:34:22,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:22,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:22,613 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-08 10:34:22,614 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-08 10:34:22,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:22,620 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-08 10:34:22,620 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-08 10:34:22,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:22,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:22,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:22,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:22,621 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-08 10:34:22,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 436 transitions. [2022-04-08 10:34:22,628 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 436 transitions. Word has length 49 [2022-04-08 10:34:22,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:22,628 INFO L478 AbstractCegarLoop]: Abstraction has 382 states and 436 transitions. [2022-04-08 10:34:22,628 INFO L479 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-08 10:34:22,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 382 states and 436 transitions. [2022-04-08 10:34:23,487 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-08 10:34:23,487 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-08 10:34:23,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:34:23,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:23,488 INFO L499 BasicCegarLoop]: 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-08 10:34:23,504 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-08 10:34:23,689 WARN L460 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-08 10:34:23,689 INFO L403 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:23,689 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:23,689 INFO L85 PathProgramCache]: Analyzing trace with hash 690493581, now seen corresponding path program 89 times [2022-04-08 10:34:23,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:23,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1061951482] [2022-04-08 10:34:23,691 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:23,691 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:23,691 INFO L85 PathProgramCache]: Analyzing trace with hash 690493581, now seen corresponding path program 90 times [2022-04-08 10:34:23,691 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:23,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1728469989] [2022-04-08 10:34:23,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:23,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:23,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:23,779 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:23,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:23,781 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-08 10:34:23,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-08 10:34:23,782 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-08 10:34:23,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:23,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:23,926 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-08 10:34:23,926 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-08 10:34:23,927 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-08 10:34:23,927 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-08 10:34:23,927 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-08 10:34:23,928 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-08 10:34:23,928 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-08 10:34:23,929 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-08 10:34:23,929 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-08 10:34:23,929 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-08 10:34:23,930 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-08 10:34:23,930 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-08 10:34:23,931 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-08 10:34:23,931 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-08 10:34:23,931 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-08 10:34:23,932 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-08 10:34:23,932 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-08 10:34:23,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:34:23,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:24,121 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-08 10:34:24,121 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-08 10:34:24,121 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-08 10:34:24,122 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-08 10:34:24,122 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-08 10:34:24,123 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-08 10:34:24,123 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-08 10:34:24,123 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-08 10:34:24,124 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-08 10:34:24,124 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-08 10:34:24,125 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-08 10:34:24,125 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-08 10:34:24,126 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-08 10:34:24,126 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-08 10:34:24,126 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-08 10:34:24,127 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-08 10:34:24,127 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-08 10:34:24,128 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-08 10:34:24,128 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-08 10:34:24,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-08 10:34:24,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-08 10:34:24,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-08 10:34:24,128 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-08 10:34:24,128 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-08 10:34:24,128 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-08 10:34:24,128 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-08 10:34:24,129 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-08 10:34:24,129 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-08 10:34:24,129 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-08 10:34:24,130 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-08 10:34:24,130 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-08 10:34:24,131 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-08 10:34:24,131 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-08 10:34:24,131 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-08 10:34:24,132 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-08 10:34:24,132 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-08 10:34:24,133 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-08 10:34:24,133 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-08 10:34:24,134 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-08 10:34:24,134 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-08 10:34:24,134 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-08 10:34:24,135 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-08 10:34:24,135 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-08 10:34:24,135 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-08 10:34:24,136 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-08 10:34:24,136 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-08 10:34:24,136 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-08 10:34:24,137 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-08 10:34:24,137 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-08 10:34:24,137 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-08 10:34:24,138 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-08 10:34:24,138 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-08 10:34:24,139 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-08 10:34:24,139 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-08 10:34:24,139 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-08 10:34:24,140 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-08 10:34:24,140 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-08 10:34:24,141 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-08 10:34:24,141 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-08 10:34:24,141 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-08 10:34:24,142 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-08 10:34:24,142 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-08 10:34:24,143 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-08 10:34:24,143 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-08 10:34:24,143 INFO L290 TraceCheckUtils]: 47: Hoare triple {79159#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {79116#false} is VALID [2022-04-08 10:34:24,144 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-08 10:34:24,144 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-08 10:34:24,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:24,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1728469989] [2022-04-08 10:34:24,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1728469989] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:24,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [457302652] [2022-04-08 10:34:24,144 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:34:24,144 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:24,144 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:24,147 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-08 10:34:24,147 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-08 10:34:24,219 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 10:34:24,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:24,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:34:24,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:24,230 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:24,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {79115#true} call ULTIMATE.init(); {79115#true} is VALID [2022-04-08 10:34:24,920 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-08 10:34:24,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-08 10:34:24,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-08 10:34:24,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-08 10:34:24,920 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-08 10:34:24,920 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-08 10:34:24,920 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-08 10:34:24,921 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-08 10:34:24,921 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-08 10:34:24,922 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-08 10:34:24,922 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-08 10:34:24,922 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-08 10:34:24,923 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-08 10:34:24,923 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-08 10:34:24,924 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-08 10:34:24,924 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-08 10:34:24,924 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-08 10:34:24,925 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-08 10:34:24,925 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-08 10:34:24,926 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-08 10:34:24,926 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-08 10:34:24,926 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-08 10:34:24,927 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-08 10:34:24,927 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-08 10:34:24,928 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-08 10:34:24,928 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-08 10:34:24,928 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-08 10:34:24,928 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-08 10:34:24,929 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-08 10:34:24,929 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-08 10:34:24,929 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-08 10:34:24,930 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-08 10:34:24,930 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-08 10:34:24,931 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-08 10:34:24,931 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-08 10:34:24,931 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-08 10:34:24,932 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-08 10:34:24,932 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-08 10:34:24,933 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-08 10:34:24,933 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-08 10:34:24,933 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-08 10:34:24,934 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-08 10:34:24,934 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-08 10:34:24,935 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-08 10:34:24,935 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-08 10:34:24,936 INFO L290 TraceCheckUtils]: 46: Hoare triple {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {79329#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:24,936 INFO L290 TraceCheckUtils]: 47: Hoare triple {79329#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {79116#false} is VALID [2022-04-08 10:34:24,936 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-08 10:34:24,936 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-08 10:34:24,936 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:25,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {79116#false} assume !false; {79116#false} is VALID [2022-04-08 10:34:25,428 INFO L290 TraceCheckUtils]: 47: Hoare triple {79329#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {79116#false} is VALID [2022-04-08 10:34:25,429 INFO L290 TraceCheckUtils]: 46: Hoare triple {79325#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {79329#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:25,429 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-08 10:34:25,430 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-08 10:34:25,431 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-08 10:34:25,431 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-08 10:34:25,431 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-08 10:34:25,432 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-08 10:34:25,432 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-08 10:34:25,433 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-08 10:34:25,433 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-08 10:34:25,433 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-08 10:34:25,434 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-08 10:34:25,434 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-08 10:34:25,435 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-08 10:34:25,435 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-08 10:34:25,435 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-08 10:34:25,436 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-08 10:34:25,436 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-08 10:34:25,436 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-08 10:34:25,437 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-08 10:34:25,437 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-08 10:34:25,437 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-08 10:34:25,438 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-08 10:34:25,438 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-08 10:34:25,439 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-08 10:34:25,439 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-08 10:34:25,439 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-08 10:34:25,440 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-08 10:34:25,440 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-08 10:34:25,441 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-08 10:34:25,441 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-08 10:34:25,442 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-08 10:34:25,442 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-08 10:34:25,442 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-08 10:34:25,443 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-08 10:34:25,443 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-08 10:34:25,444 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-08 10:34:25,444 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-08 10:34:25,444 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-08 10:34:25,444 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-08 10:34:25,444 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-08 10:34:25,444 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-08 10:34:25,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {79115#true} call #t~ret10 := main(); {79115#true} is VALID [2022-04-08 10:34:25,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79115#true} {79115#true} #117#return; {79115#true} is VALID [2022-04-08 10:34:25,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {79115#true} assume true; {79115#true} is VALID [2022-04-08 10:34:25,445 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-08 10:34:25,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {79115#true} call ULTIMATE.init(); {79115#true} is VALID [2022-04-08 10:34:25,445 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-08 10:34:25,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [457302652] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:25,445 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:25,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 37 [2022-04-08 10:34:25,445 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:25,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1061951482] [2022-04-08 10:34:25,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1061951482] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:25,445 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:25,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:34:25,445 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [449954402] [2022-04-08 10:34:25,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:25,446 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-08 10:34:25,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:25,446 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-08 10:34:25,476 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-08 10:34:25,476 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:34:25,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:25,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:34:25,476 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1243, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:34:25,476 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-08 10:34:32,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:32,523 INFO L93 Difference]: Finished difference Result 388 states and 441 transitions. [2022-04-08 10:34:32,523 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:34:32,523 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-08 10:34:32,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:32,523 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-08 10:34:32,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-08 10:34:32,524 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-08 10:34:32,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-08 10:34:32,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 110 transitions. [2022-04-08 10:34:32,610 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-08 10:34:32,620 INFO L225 Difference]: With dead ends: 388 [2022-04-08 10:34:32,620 INFO L226 Difference]: Without dead ends: 364 [2022-04-08 10:34:32,623 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 84 SyntacticMatches, 9 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=230, Invalid=3552, Unknown=0, NotChecked=0, Total=3782 [2022-04-08 10:34:32,623 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 95 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 1926 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:32,623 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [97 Valid, 176 Invalid, 1956 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 1926 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 10:34:32,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-08 10:34:36,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 364. [2022-04-08 10:34:36,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:36,456 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-08 10:34:36,456 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-08 10:34:36,457 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-08 10:34:36,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:36,462 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-08 10:34:36,463 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-08 10:34:36,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:36,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:36,464 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-08 10:34:36,464 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-08 10:34:36,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:36,469 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-08 10:34:36,469 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-08 10:34:36,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:36,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:36,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:36,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:36,470 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-08 10:34:36,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 416 transitions. [2022-04-08 10:34:36,477 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 416 transitions. Word has length 49 [2022-04-08 10:34:36,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:36,477 INFO L478 AbstractCegarLoop]: Abstraction has 364 states and 416 transitions. [2022-04-08 10:34:36,477 INFO L479 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-08 10:34:36,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 364 states and 416 transitions. [2022-04-08 10:34:37,311 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-08 10:34:37,311 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-08 10:34:37,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:34:37,313 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:37,313 INFO L499 BasicCegarLoop]: 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-08 10:34:37,329 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Forceful destruction successful, exit code 0 [2022-04-08 10:34:37,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable54 [2022-04-08 10:34:37,515 INFO L403 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:37,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:37,516 INFO L85 PathProgramCache]: Analyzing trace with hash 375234381, now seen corresponding path program 91 times [2022-04-08 10:34:37,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:37,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [514882770] [2022-04-08 10:34:37,518 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:37,518 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:37,518 INFO L85 PathProgramCache]: Analyzing trace with hash 375234381, now seen corresponding path program 92 times [2022-04-08 10:34:37,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:37,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92157600] [2022-04-08 10:34:37,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:37,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:37,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:37,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:37,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:37,597 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-08 10:34:37,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-08 10:34:37,597 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-08 10:34:37,597 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:37,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:37,716 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-08 10:34:37,716 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-08 10:34:37,717 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-08 10:34:37,717 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-08 10:34:37,717 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-08 10:34:37,718 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-08 10:34:37,718 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-08 10:34:37,719 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-08 10:34:37,719 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-08 10:34:37,719 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-08 10:34:37,720 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-08 10:34:37,720 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-08 10:34:37,721 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-08 10:34:37,721 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-08 10:34:37,722 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-08 10:34:37,722 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-08 10:34:37,722 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-08 10:34:37,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:34:37,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:37,886 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-08 10:34:37,887 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-08 10:34:37,887 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-08 10:34:37,888 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-08 10:34:37,888 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-08 10:34:37,888 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-08 10:34:37,889 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-08 10:34:37,889 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-08 10:34:37,889 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-08 10:34:37,890 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-08 10:34:37,890 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-08 10:34:37,891 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-08 10:34:37,891 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-08 10:34:37,892 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-08 10:34:37,892 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-08 10:34:37,892 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-08 10:34:37,893 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-08 10:34:37,893 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-08 10:34:37,894 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-08 10:34:37,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-08 10:34:37,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-08 10:34:37,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-08 10:34:37,894 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-08 10:34:37,894 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-08 10:34:37,894 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-08 10:34:37,894 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-08 10:34:37,895 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-08 10:34:37,895 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-08 10:34:37,895 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-08 10:34:37,896 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-08 10:34:37,896 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-08 10:34:37,896 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-08 10:34:37,897 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-08 10:34:37,897 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-08 10:34:37,897 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-08 10:34:37,898 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-08 10:34:37,898 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-08 10:34:37,899 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-08 10:34:37,899 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-08 10:34:37,900 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-08 10:34:37,900 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-08 10:34:37,901 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-08 10:34:37,901 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-08 10:34:37,901 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-08 10:34:37,901 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-08 10:34:37,902 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-08 10:34:37,902 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-08 10:34:37,902 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-08 10:34:37,903 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-08 10:34:37,903 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-08 10:34:37,903 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-08 10:34:37,904 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-08 10:34:37,904 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-08 10:34:37,905 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-08 10:34:37,905 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-08 10:34:37,906 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-08 10:34:37,906 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-08 10:34:37,906 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-08 10:34:37,907 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-08 10:34:37,907 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-08 10:34:37,908 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-08 10:34:37,908 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-08 10:34:37,909 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-08 10:34:37,909 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-08 10:34:37,909 INFO L290 TraceCheckUtils]: 47: Hoare triple {81809#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {81766#false} is VALID [2022-04-08 10:34:37,909 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-08 10:34:37,909 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-08 10:34:37,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:37,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [92157600] [2022-04-08 10:34:37,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [92157600] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:37,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381932058] [2022-04-08 10:34:37,910 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:34:37,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:37,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:37,911 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-08 10:34:37,912 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-08 10:34:37,984 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:34:37,984 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:37,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 10:34:37,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:37,994 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:38,731 INFO L272 TraceCheckUtils]: 0: Hoare triple {81765#true} call ULTIMATE.init(); {81765#true} is VALID [2022-04-08 10:34:38,731 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-08 10:34:38,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-08 10:34:38,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-08 10:34:38,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-08 10:34:38,731 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-08 10:34:38,731 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-08 10:34:38,731 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-08 10:34:38,731 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-08 10:34:38,732 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-08 10:34:38,732 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-08 10:34:38,733 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-08 10:34:38,733 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-08 10:34:38,733 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-08 10:34:38,734 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-08 10:34:38,734 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-08 10:34:38,734 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-08 10:34:38,735 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-08 10:34:38,735 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-08 10:34:38,736 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-08 10:34:38,736 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-08 10:34:38,737 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-08 10:34:38,737 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-08 10:34:38,737 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-08 10:34:38,738 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-08 10:34:38,738 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-08 10:34:38,738 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-08 10:34:38,739 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-08 10:34:38,739 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-08 10:34:38,739 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-08 10:34:38,740 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-08 10:34:38,740 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-08 10:34:38,740 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-08 10:34:38,741 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-08 10:34:38,741 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-08 10:34:38,742 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-08 10:34:38,742 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-08 10:34:38,742 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-08 10:34:38,743 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-08 10:34:38,743 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-08 10:34:38,744 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-08 10:34:38,744 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-08 10:34:38,744 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-08 10:34:38,745 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-08 10:34:38,745 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-08 10:34:38,746 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-08 10:34:38,746 INFO L290 TraceCheckUtils]: 46: Hoare triple {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {81979#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:38,747 INFO L290 TraceCheckUtils]: 47: Hoare triple {81979#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {81766#false} is VALID [2022-04-08 10:34:38,747 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-08 10:34:38,747 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-08 10:34:38,747 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:39,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {81766#false} assume !false; {81766#false} is VALID [2022-04-08 10:34:39,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {81979#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {81766#false} is VALID [2022-04-08 10:34:39,212 INFO L290 TraceCheckUtils]: 46: Hoare triple {81975#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {81979#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:34:39,212 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-08 10:34:39,213 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-08 10:34:39,213 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-08 10:34:39,214 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-08 10:34:39,214 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-08 10:34:39,214 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-08 10:34:39,215 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-08 10:34:39,215 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-08 10:34:39,216 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-08 10:34:39,216 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-08 10:34:39,217 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-08 10:34:39,217 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-08 10:34:39,217 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-08 10:34:39,218 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-08 10:34:39,218 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-08 10:34:39,218 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-08 10:34:39,219 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-08 10:34:39,219 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-08 10:34:39,220 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-08 10:34:39,220 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-08 10:34:39,220 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-08 10:34:39,221 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-08 10:34:39,221 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-08 10:34:39,221 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-08 10:34:39,222 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-08 10:34:39,222 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-08 10:34:39,223 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-08 10:34:39,223 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-08 10:34:39,224 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-08 10:34:39,224 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-08 10:34:39,224 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-08 10:34:39,225 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-08 10:34:39,225 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-08 10:34:39,225 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-08 10:34:39,226 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-08 10:34:39,226 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-08 10:34:39,226 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-08 10:34:39,227 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-08 10:34:39,227 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-08 10:34:39,227 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-08 10:34:39,227 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-08 10:34:39,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {81765#true} call #t~ret10 := main(); {81765#true} is VALID [2022-04-08 10:34:39,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81765#true} {81765#true} #117#return; {81765#true} is VALID [2022-04-08 10:34:39,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {81765#true} assume true; {81765#true} is VALID [2022-04-08 10:34:39,227 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-08 10:34:39,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {81765#true} call ULTIMATE.init(); {81765#true} is VALID [2022-04-08 10:34:39,227 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-08 10:34:39,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381932058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:39,228 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:39,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 37 [2022-04-08 10:34:39,228 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:39,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [514882770] [2022-04-08 10:34:39,228 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [514882770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:39,228 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:39,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:34:39,228 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766343270] [2022-04-08 10:34:39,228 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:39,228 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-08 10:34:39,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:39,229 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-08 10:34:39,257 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-08 10:34:39,257 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:34:39,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:39,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:34:39,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1239, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 10:34:39,258 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-08 10:34:45,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:45,227 INFO L93 Difference]: Finished difference Result 382 states and 437 transitions. [2022-04-08 10:34:45,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:34:45,227 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-08 10:34:45,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:45,227 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-08 10:34:45,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-08 10:34:45,228 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-08 10:34:45,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-08 10:34:45,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 84 transitions. [2022-04-08 10:34:45,294 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-08 10:34:45,302 INFO L225 Difference]: With dead ends: 382 [2022-04-08 10:34:45,302 INFO L226 Difference]: Without dead ends: 376 [2022-04-08 10:34:45,304 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 616 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=232, Invalid=3308, Unknown=0, NotChecked=0, Total=3540 [2022-04-08 10:34:45,304 INFO L913 BasicCegarLoop]: 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-08 10:34:45,305 INFO L914 BasicCegarLoop]: 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-08 10:34:45,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-08 10:34:49,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 374. [2022-04-08 10:34:49,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:49,219 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-08 10:34:49,220 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-08 10:34:49,220 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-08 10:34:49,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:49,226 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-08 10:34:49,226 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-08 10:34:49,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:49,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:49,227 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-08 10:34:49,228 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-08 10:34:49,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:49,236 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-08 10:34:49,236 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-08 10:34:49,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:49,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:49,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:49,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:49,238 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-08 10:34:49,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 429 transitions. [2022-04-08 10:34:49,249 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 429 transitions. Word has length 49 [2022-04-08 10:34:49,249 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:49,249 INFO L478 AbstractCegarLoop]: Abstraction has 374 states and 429 transitions. [2022-04-08 10:34:49,249 INFO L479 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-08 10:34:49,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 374 states and 429 transitions. [2022-04-08 10:34:50,106 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-08 10:34:50,106 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 429 transitions. [2022-04-08 10:34:50,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 10:34:50,108 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:50,108 INFO L499 BasicCegarLoop]: 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-08 10:34:50,125 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Ended with exit code 0 [2022-04-08 10:34:50,308 WARN L460 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-08 10:34:50,308 INFO L403 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:50,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:50,309 INFO L85 PathProgramCache]: Analyzing trace with hash -1431154964, now seen corresponding path program 93 times [2022-04-08 10:34:50,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:50,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [428530503] [2022-04-08 10:34:50,311 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:50,311 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:50,311 INFO L85 PathProgramCache]: Analyzing trace with hash -1431154964, now seen corresponding path program 94 times [2022-04-08 10:34:50,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:50,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655083950] [2022-04-08 10:34:50,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:50,311 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:50,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:50,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:50,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:50,360 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-08 10:34:50,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-08 10:34:50,360 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-08 10:34:50,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:50,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:50,496 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-08 10:34:50,497 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-08 10:34:50,497 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-08 10:34:50,498 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-08 10:34:50,498 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-08 10:34:50,499 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-08 10:34:50,499 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-08 10:34:50,500 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-08 10:34:50,500 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-08 10:34:50,501 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-08 10:34:50,501 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-08 10:34:50,501 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-08 10:34:50,502 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-08 10:34:50,502 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-08 10:34:50,502 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-08 10:34:50,502 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-08 10:34:50,503 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-08 10:34:50,503 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:34:50,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:50,705 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-08 10:34:50,706 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-08 10:34:50,706 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-08 10:34:50,707 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-08 10:34:50,707 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-08 10:34:50,708 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-08 10:34:50,708 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-08 10:34:50,709 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-08 10:34:50,709 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-08 10:34:50,710 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-08 10:34:50,710 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-08 10:34:50,711 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-08 10:34:50,711 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-08 10:34:50,711 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-08 10:34:50,711 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-08 10:34:50,712 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-08 10:34:50,712 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-08 10:34:50,713 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-08 10:34:50,713 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-08 10:34:50,713 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-08 10:34:50,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-08 10:34:50,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-08 10:34:50,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-08 10:34:50,713 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-08 10:34:50,713 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-08 10:34:50,713 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-08 10:34:50,714 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-08 10:34:50,714 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-08 10:34:50,714 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-08 10:34:50,715 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-08 10:34:50,715 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-08 10:34:50,716 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-08 10:34:50,716 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-08 10:34:50,717 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-08 10:34:50,717 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-08 10:34:50,718 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-08 10:34:50,718 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-08 10:34:50,719 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-08 10:34:50,719 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-08 10:34:50,719 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-08 10:34:50,719 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-08 10:34:50,720 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-08 10:34:50,720 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-08 10:34:50,721 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-08 10:34:50,721 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-08 10:34:50,721 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-08 10:34:50,721 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-08 10:34:50,722 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-08 10:34:50,722 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-08 10:34:50,723 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-08 10:34:50,723 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-08 10:34:50,724 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-08 10:34:50,724 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-08 10:34:50,725 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-08 10:34:50,725 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-08 10:34:50,726 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-08 10:34:50,726 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-08 10:34:50,726 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-08 10:34:50,726 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-08 10:34:50,727 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-08 10:34:50,727 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-08 10:34:50,727 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-08 10:34:50,728 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-08 10:34:50,728 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-08 10:34:50,728 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-08 10:34:50,728 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-08 10:34:50,728 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-08 10:34:50,728 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-08 10:34:50,728 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-08 10:34:50,728 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:50,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1655083950] [2022-04-08 10:34:50,729 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1655083950] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:50,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1389316934] [2022-04-08 10:34:50,729 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:34:50,729 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:50,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:50,730 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-08 10:34:50,730 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-08 10:34:50,801 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:34:50,802 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:50,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:34:50,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:50,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:51,965 INFO L272 TraceCheckUtils]: 0: Hoare triple {84443#true} call ULTIMATE.init(); {84443#true} is VALID [2022-04-08 10:34:51,966 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-08 10:34:51,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-08 10:34:51,966 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-08 10:34:51,966 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-08 10:34:51,966 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-08 10:34:51,966 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-08 10:34:51,966 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-08 10:34:51,966 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-08 10:34:51,967 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-08 10:34:51,967 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-08 10:34:51,968 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-08 10:34:51,968 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-08 10:34:51,969 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-08 10:34:51,969 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-08 10:34:51,970 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-08 10:34:51,970 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-08 10:34:51,971 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-08 10:34:51,972 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-08 10:34:51,972 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-08 10:34:51,972 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-08 10:34:51,972 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-08 10:34:51,973 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-08 10:34:51,973 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-08 10:34:51,974 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-08 10:34:51,974 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-08 10:34:51,974 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-08 10:34:51,974 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-08 10:34:51,975 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-08 10:34:51,975 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-08 10:34:51,976 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-08 10:34:51,976 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-08 10:34:51,977 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-08 10:34:51,977 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-08 10:34:51,978 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-08 10:34:51,978 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-08 10:34:51,979 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-08 10:34:51,979 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-08 10:34:51,980 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-08 10:34:51,980 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-08 10:34:51,980 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-08 10:34:51,980 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-08 10:34:51,981 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-08 10:34:51,981 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-08 10:34:51,982 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-08 10:34:51,982 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-08 10:34:51,982 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-08 10:34:51,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-08 10:34:51,982 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-08 10:34:51,982 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-08 10:34:51,982 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-08 10:34:51,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:53,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {84444#false} assume !false; {84444#false} is VALID [2022-04-08 10:34:53,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {84444#false} assume 0 == ~cond; {84444#false} is VALID [2022-04-08 10:34:53,924 INFO L290 TraceCheckUtils]: 47: Hoare triple {84444#false} ~cond := #in~cond; {84444#false} is VALID [2022-04-08 10:34:53,924 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-08 10:34:53,924 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-08 10:34:53,925 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-08 10:34:53,925 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-08 10:34:53,925 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-08 10:34:53,926 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-08 10:34:53,926 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-08 10:34:53,926 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-08 10:34:53,926 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-08 10:34:53,927 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-08 10:34:53,927 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-08 10:34:53,928 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-08 10:34:53,928 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-08 10:34:53,929 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-08 10:34:53,929 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-08 10:34:53,930 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-08 10:34:53,930 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-08 10:34:53,931 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-08 10:34:53,931 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-08 10:34:53,931 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-08 10:34:53,931 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-08 10:34:53,932 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-08 10:34:53,932 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-08 10:34:53,933 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-08 10:34:53,933 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-08 10:34:53,933 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-08 10:34:53,933 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-08 10:34:53,934 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-08 10:34:53,934 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-08 10:34:53,934 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-08 10:34:53,935 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-08 10:34:53,936 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-08 10:34:53,936 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-08 10:34:53,937 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-08 10:34:53,937 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-08 10:34:53,938 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-08 10:34:53,938 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-08 10:34:53,938 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-08 10:34:53,939 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-08 10:34:53,939 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-08 10:34:53,939 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-08 10:34:53,939 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-08 10:34:53,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {84443#true} call #t~ret10 := main(); {84443#true} is VALID [2022-04-08 10:34:53,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84443#true} {84443#true} #117#return; {84443#true} is VALID [2022-04-08 10:34:53,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {84443#true} assume true; {84443#true} is VALID [2022-04-08 10:34:53,939 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-08 10:34:53,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {84443#true} call ULTIMATE.init(); {84443#true} is VALID [2022-04-08 10:34:53,939 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-08 10:34:53,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1389316934] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:53,940 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:53,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-08 10:34:53,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:53,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [428530503] [2022-04-08 10:34:53,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [428530503] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:53,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:53,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:34:53,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [454234849] [2022-04-08 10:34:53,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:53,940 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-08 10:34:53,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:53,941 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-08 10:34:53,973 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-08 10:34:53,973 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:34:53,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:53,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:34:53,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-08 10:34:53,974 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-08 10:35:03,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:03,159 INFO L93 Difference]: Finished difference Result 442 states and 510 transitions. [2022-04-08 10:35:03,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:35:03,159 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-08 10:35:03,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:03,159 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-08 10:35:03,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 162 transitions. [2022-04-08 10:35:03,160 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-08 10:35:03,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 162 transitions. [2022-04-08 10:35:03,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 162 transitions. [2022-04-08 10:35:03,291 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-08 10:35:03,303 INFO L225 Difference]: With dead ends: 442 [2022-04-08 10:35:03,303 INFO L226 Difference]: Without dead ends: 428 [2022-04-08 10:35:03,305 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 722 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=308, Invalid=5094, Unknown=0, NotChecked=0, Total=5402 [2022-04-08 10:35:03,305 INFO L913 BasicCegarLoop]: 96 mSDtfsCounter, 190 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 2609 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s 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, 2.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:03,305 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [201 Valid, 193 Invalid, 2633 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 2609 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-08 10:35:03,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-08 10:35:07,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 419. [2022-04-08 10:35:07,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:07,990 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-08 10:35:07,991 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-08 10:35:07,991 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-08 10:35:07,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:07,999 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-08 10:35:07,999 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-08 10:35:08,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:08,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:08,000 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-08 10:35:08,000 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-08 10:35:08,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:08,008 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-08 10:35:08,008 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-08 10:35:08,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:08,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:08,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:08,009 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:08,010 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-08 10:35:08,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 419 states to 419 states and 482 transitions. [2022-04-08 10:35:08,019 INFO L78 Accepts]: Start accepts. Automaton has 419 states and 482 transitions. Word has length 50 [2022-04-08 10:35:08,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:08,019 INFO L478 AbstractCegarLoop]: Abstraction has 419 states and 482 transitions. [2022-04-08 10:35:08,019 INFO L479 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-08 10:35:08,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 419 states and 482 transitions. [2022-04-08 10:35:09,032 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-08 10:35:09,033 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 482 transitions. [2022-04-08 10:35:09,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 10:35:09,034 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:09,034 INFO L499 BasicCegarLoop]: 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-08 10:35:09,051 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:09,235 WARN L460 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-08 10:35:09,235 INFO L403 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:09,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:09,235 INFO L85 PathProgramCache]: Analyzing trace with hash -522394929, now seen corresponding path program 95 times [2022-04-08 10:35:09,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:09,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1518347604] [2022-04-08 10:35:09,237 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:09,237 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:09,237 INFO L85 PathProgramCache]: Analyzing trace with hash -522394929, now seen corresponding path program 96 times [2022-04-08 10:35:09,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:09,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [730206474] [2022-04-08 10:35:09,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:09,238 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:09,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:09,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,278 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-08 10:35:09,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-08 10:35:09,278 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-08 10:35:09,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:09,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,436 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-08 10:35:09,437 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-08 10:35:09,437 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-08 10:35:09,438 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-08 10:35:09,438 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-08 10:35:09,439 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-08 10:35:09,439 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-08 10:35:09,440 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-08 10:35:09,440 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-08 10:35:09,441 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-08 10:35:09,441 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-08 10:35:09,442 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-08 10:35:09,442 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-08 10:35:09,442 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-08 10:35:09,443 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-08 10:35:09,443 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-08 10:35:09,443 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-08 10:35:09,444 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-08 10:35:09,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:35:09,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,628 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-08 10:35:09,629 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-08 10:35:09,629 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-08 10:35:09,630 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-08 10:35:09,630 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-08 10:35:09,631 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-08 10:35:09,631 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-08 10:35:09,632 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-08 10:35:09,632 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-08 10:35:09,636 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-08 10:35:09,636 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-08 10:35:09,637 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-08 10:35:09,637 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-08 10:35:09,638 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-08 10:35:09,638 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-08 10:35:09,638 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-08 10:35:09,639 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-08 10:35:09,640 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-08 10:35:09,640 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-08 10:35:09,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-08 10:35:09,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-08 10:35:09,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-08 10:35:09,641 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-08 10:35:09,641 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-08 10:35:09,641 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-08 10:35:09,641 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-08 10:35:09,642 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-08 10:35:09,642 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-08 10:35:09,643 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-08 10:35:09,644 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-08 10:35:09,644 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-08 10:35:09,645 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-08 10:35:09,645 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-08 10:35:09,646 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-08 10:35:09,646 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-08 10:35:09,647 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-08 10:35:09,647 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-08 10:35:09,647 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-08 10:35:09,648 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-08 10:35:09,648 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-08 10:35:09,648 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-08 10:35:09,648 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-08 10:35:09,649 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-08 10:35:09,649 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-08 10:35:09,649 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-08 10:35:09,650 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-08 10:35:09,650 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-08 10:35:09,650 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-08 10:35:09,651 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-08 10:35:09,651 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-08 10:35:09,652 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-08 10:35:09,653 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-08 10:35:09,653 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-08 10:35:09,654 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-08 10:35:09,654 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-08 10:35:09,654 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-08 10:35:09,655 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-08 10:35:09,655 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-08 10:35:09,655 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-08 10:35:09,655 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-08 10:35:09,656 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-08 10:35:09,656 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-08 10:35:09,657 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-08 10:35:09,657 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-08 10:35:09,657 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-08 10:35:09,657 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-08 10:35:09,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-08 10:35:09,657 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-08 10:35:09,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:09,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [730206474] [2022-04-08 10:35:09,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [730206474] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:09,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [203086879] [2022-04-08 10:35:09,657 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:35:09,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:09,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:09,659 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-08 10:35:09,674 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-08 10:35:09,752 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:35:09,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:09,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:35:09,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:10,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {87451#true} call ULTIMATE.init(); {87451#true} is VALID [2022-04-08 10:35:10,891 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-08 10:35:10,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-08 10:35:10,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-08 10:35:10,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-08 10:35:10,891 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-08 10:35:10,891 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-08 10:35:10,891 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-08 10:35:10,891 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-08 10:35:10,892 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-08 10:35:10,892 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-08 10:35:10,893 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-08 10:35:10,893 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-08 10:35:10,894 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-08 10:35:10,894 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-08 10:35:10,895 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-08 10:35:10,895 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-08 10:35:10,896 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-08 10:35:10,896 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-08 10:35:10,897 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-08 10:35:10,897 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-08 10:35:10,897 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-08 10:35:10,897 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-08 10:35:10,898 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-08 10:35:10,898 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-08 10:35:10,899 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-08 10:35:10,899 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-08 10:35:10,899 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-08 10:35:10,899 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-08 10:35:10,900 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-08 10:35:10,900 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-08 10:35:10,901 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-08 10:35:10,901 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-08 10:35:10,902 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-08 10:35:10,902 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-08 10:35:10,903 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-08 10:35:10,903 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-08 10:35:10,904 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-08 10:35:10,904 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-08 10:35:10,904 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-08 10:35:10,905 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-08 10:35:10,905 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-08 10:35:10,905 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-08 10:35:10,905 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-08 10:35:10,906 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-08 10:35:10,906 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-08 10:35:10,906 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-08 10:35:10,906 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-08 10:35:10,906 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-08 10:35:10,906 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-08 10:35:10,907 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-08 10:35:10,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:12,849 INFO L290 TraceCheckUtils]: 49: Hoare triple {87452#false} assume !false; {87452#false} is VALID [2022-04-08 10:35:12,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {87452#false} assume 0 == ~cond; {87452#false} is VALID [2022-04-08 10:35:12,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {87452#false} ~cond := #in~cond; {87452#false} is VALID [2022-04-08 10:35:12,849 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-08 10:35:12,849 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-08 10:35:12,850 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-08 10:35:12,850 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-08 10:35:12,850 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-08 10:35:12,851 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-08 10:35:12,851 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-08 10:35:12,851 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-08 10:35:12,852 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-08 10:35:12,852 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-08 10:35:12,853 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-08 10:35:12,853 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-08 10:35:12,854 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-08 10:35:12,854 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-08 10:35:12,855 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-08 10:35:12,855 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-08 10:35:12,856 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-08 10:35:12,856 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-08 10:35:12,856 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-08 10:35:12,856 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-08 10:35:12,857 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-08 10:35:12,857 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-08 10:35:12,858 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-08 10:35:12,858 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-08 10:35:12,858 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-08 10:35:12,858 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-08 10:35:12,859 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-08 10:35:12,859 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-08 10:35:12,859 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-08 10:35:12,860 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-08 10:35:12,860 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-08 10:35:12,861 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-08 10:35:12,861 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-08 10:35:12,862 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-08 10:35:12,862 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-08 10:35:12,863 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-08 10:35:12,863 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-08 10:35:12,864 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-08 10:35:12,864 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-08 10:35:12,864 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-08 10:35:12,864 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-08 10:35:12,864 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-08 10:35:12,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {87451#true} call #t~ret10 := main(); {87451#true} is VALID [2022-04-08 10:35:12,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87451#true} {87451#true} #117#return; {87451#true} is VALID [2022-04-08 10:35:12,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {87451#true} assume true; {87451#true} is VALID [2022-04-08 10:35:12,864 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-08 10:35:12,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {87451#true} call ULTIMATE.init(); {87451#true} is VALID [2022-04-08 10:35:12,865 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-08 10:35:12,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [203086879] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:12,865 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:12,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-08 10:35:12,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:12,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1518347604] [2022-04-08 10:35:12,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1518347604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:12,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:12,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:35:12,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1006800640] [2022-04-08 10:35:12,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:12,866 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-08 10:35:12,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:12,866 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-08 10:35:12,920 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-08 10:35:12,921 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:35:12,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:12,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:35:12,921 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-08 10:35:12,921 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-08 10:35:22,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:22,419 INFO L93 Difference]: Finished difference Result 434 states and 497 transitions. [2022-04-08 10:35:22,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:35:22,420 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-08 10:35:22,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:22,420 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-08 10:35:22,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 161 transitions. [2022-04-08 10:35:22,421 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-08 10:35:22,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 161 transitions. [2022-04-08 10:35:22,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 161 transitions. [2022-04-08 10:35:22,563 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-08 10:35:22,574 INFO L225 Difference]: With dead ends: 434 [2022-04-08 10:35:22,574 INFO L226 Difference]: Without dead ends: 422 [2022-04-08 10:35:22,577 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 733 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=308, Invalid=5094, Unknown=0, NotChecked=0, Total=5402 [2022-04-08 10:35:22,577 INFO L913 BasicCegarLoop]: 98 mSDtfsCounter, 197 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 2781 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:22,577 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [212 Valid, 200 Invalid, 2804 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 2781 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-08 10:35:22,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 422 states. [2022-04-08 10:35:27,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 422 to 420. [2022-04-08 10:35:27,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:27,338 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-08 10:35:27,339 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-08 10:35:27,339 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-08 10:35:27,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:27,346 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-08 10:35:27,346 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-08 10:35:27,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:27,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:27,348 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-08 10:35:27,348 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-08 10:35:27,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:27,356 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-08 10:35:27,356 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-08 10:35:27,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:27,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:27,357 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:27,357 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:27,357 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-08 10:35:27,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 420 states to 420 states and 480 transitions. [2022-04-08 10:35:27,366 INFO L78 Accepts]: Start accepts. Automaton has 420 states and 480 transitions. Word has length 50 [2022-04-08 10:35:27,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:27,366 INFO L478 AbstractCegarLoop]: Abstraction has 420 states and 480 transitions. [2022-04-08 10:35:27,366 INFO L479 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-08 10:35:27,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 420 states and 480 transitions. [2022-04-08 10:35:28,386 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-08 10:35:28,386 INFO L276 IsEmpty]: Start isEmpty. Operand 420 states and 480 transitions. [2022-04-08 10:35:28,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 10:35:28,388 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:28,388 INFO L499 BasicCegarLoop]: 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-08 10:35:28,404 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-08 10:35:28,588 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 49 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable57 [2022-04-08 10:35:28,588 INFO L403 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:28,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:28,589 INFO L85 PathProgramCache]: Analyzing trace with hash 96500781, now seen corresponding path program 97 times [2022-04-08 10:35:28,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:28,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1465548295] [2022-04-08 10:35:28,591 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:28,591 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:28,591 INFO L85 PathProgramCache]: Analyzing trace with hash 96500781, now seen corresponding path program 98 times [2022-04-08 10:35:28,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:28,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1809426238] [2022-04-08 10:35:28,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:28,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:28,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:28,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:28,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:28,621 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-08 10:35:28,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:28,622 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-08 10:35:28,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:28,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:28,627 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-08 10:35:28,627 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-08 10:35:28,627 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-08 10:35:28,627 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-08 10:35:28,627 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-08 10:35:28,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-08 10:35:28,627 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-08 10:35:28,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-08 10:35:28,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-08 10:35:28,627 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-08 10:35:28,628 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-08 10:35:28,628 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-08 10:35:28,628 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-08 10:35:28,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-08 10:35:28,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-08 10:35:28,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:28,628 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-08 10:35:28,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:35:28,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:28,698 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-08 10:35:28,699 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-08 10:35:28,699 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-08 10:35:28,700 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-08 10:35:28,700 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-08 10:35:28,700 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-08 10:35:28,701 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-08 10:35:28,701 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-08 10:35:28,701 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-08 10:35:28,702 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-08 10:35:28,702 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-08 10:35:28,702 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-08 10:35:28,703 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-08 10:35:28,703 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-08 10:35:28,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-08 10:35:28,703 INFO L290 TraceCheckUtils]: 15: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-08 10:35:28,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-08 10:35:28,703 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:28,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-08 10:35:28,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,704 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-08 10:35:28,705 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-08 10:35:28,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-08 10:35:28,705 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-08 10:35:28,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-08 10:35:28,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-08 10:35:28,705 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-08 10:35:28,705 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-08 10:35:28,705 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-08 10:35:28,705 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-08 10:35:28,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-08 10:35:28,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-08 10:35:28,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:28,705 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-08 10:35:28,705 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-08 10:35:28,705 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-08 10:35:28,706 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-08 10:35:28,706 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-08 10:35:28,706 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-08 10:35:28,707 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-08 10:35:28,707 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-08 10:35:28,707 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-08 10:35:28,708 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-08 10:35:28,708 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-08 10:35:28,708 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-08 10:35:28,709 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-08 10:35:28,709 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-08 10:35:28,710 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-08 10:35:28,710 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-08 10:35:28,710 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-08 10:35:28,710 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-08 10:35:28,710 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-08 10:35:28,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-08 10:35:28,711 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-08 10:35:28,711 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-08 10:35:28,711 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-08 10:35:28,711 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-08 10:35:28,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-08 10:35:28,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-08 10:35:28,711 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-08 10:35:28,711 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:28,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1809426238] [2022-04-08 10:35:28,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1809426238] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:28,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [626265463] [2022-04-08 10:35:28,711 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:35:28,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:28,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:28,712 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-08 10:35:28,713 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-08 10:35:28,791 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:35:28,791 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:28,791 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 10:35:28,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:28,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:29,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {90433#true} call ULTIMATE.init(); {90433#true} is VALID [2022-04-08 10:35:29,013 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-08 10:35:29,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:29,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-08 10:35:29,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-08 10:35:29,013 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-08 10:35:29,013 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-08 10:35:29,013 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-08 10:35:29,013 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-08 10:35:29,013 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-08 10:35:29,014 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-08 10:35:29,014 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-08 10:35:29,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-08 10:35:29,014 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-08 10:35:29,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:29,014 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-08 10:35:29,014 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-08 10:35:29,014 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-08 10:35:29,014 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-08 10:35:29,015 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-08 10:35:29,015 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-08 10:35:29,016 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-08 10:35:29,016 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-08 10:35:29,016 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-08 10:35:29,016 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-08 10:35:29,017 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-08 10:35:29,017 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-08 10:35:29,017 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-08 10:35:29,018 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-08 10:35:29,018 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-08 10:35:29,019 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-08 10:35:29,019 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-08 10:35:29,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-08 10:35:29,019 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-08 10:35:29,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-08 10:35:29,019 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-08 10:35:29,020 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-08 10:35:29,020 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-08 10:35:29,020 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-08 10:35:29,020 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-08 10:35:29,020 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-08 10:35:29,020 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-08 10:35:29,020 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 49: Hoare triple {90434#false} assume !false; {90434#false} is VALID [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 48: Hoare triple {90434#false} assume 0 == ~cond; {90434#false} is VALID [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 47: Hoare triple {90434#false} ~cond := #in~cond; {90434#false} is VALID [2022-04-08 10:35:29,188 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-08 10:35:29,188 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-08 10:35:29,188 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {90434#false} {90433#true} #113#return; {90434#false} is VALID [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {90434#false} assume true; {90434#false} is VALID [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {90434#false} #res := ~y~1; {90434#false} is VALID [2022-04-08 10:35:29,188 INFO L290 TraceCheckUtils]: 41: Hoare triple {90434#false} assume !(~x~1 < ~i~1); {90434#false} is VALID [2022-04-08 10:35:29,189 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-08 10:35:29,189 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-08 10:35:29,190 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-08 10:35:29,190 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-08 10:35:29,191 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-08 10:35:29,191 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-08 10:35:29,191 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-08 10:35:29,191 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-08 10:35:29,192 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-08 10:35:29,192 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-08 10:35:29,193 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-08 10:35:29,193 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-08 10:35:29,193 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-08 10:35:29,194 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-08 10:35:29,194 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-08 10:35:29,194 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-08 10:35:29,194 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {90433#true} {90433#true} #111#return; {90433#true} is VALID [2022-04-08 10:35:29,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:29,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {90433#true} #res := ~y~0; {90433#true} is VALID [2022-04-08 10:35:29,194 INFO L290 TraceCheckUtils]: 21: Hoare triple {90433#true} assume !(~x~0 < ~i~0); {90433#true} is VALID [2022-04-08 10:35:29,194 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-08 10:35:29,194 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-08 10:35:29,194 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-08 10:35:29,194 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-08 10:35:29,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {90433#true} ~x~0 := 0;~y~0 := 0; {90433#true} is VALID [2022-04-08 10:35:29,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {90433#true} assume !(~l~0 < ~m); {90433#true} is VALID [2022-04-08 10:35:29,194 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-08 10:35:29,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {90433#true} assume !(~b~0 < ~n); {90433#true} is VALID [2022-04-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 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-08 10:35:29,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {90433#true} call #t~ret10 := main(); {90433#true} is VALID [2022-04-08 10:35:29,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90433#true} {90433#true} #117#return; {90433#true} is VALID [2022-04-08 10:35:29,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {90433#true} assume true; {90433#true} is VALID [2022-04-08 10:35:29,195 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-08 10:35:29,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {90433#true} call ULTIMATE.init(); {90433#true} is VALID [2022-04-08 10:35:29,195 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-08 10:35:29,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [626265463] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:29,195 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:29,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-08 10:35:29,196 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:29,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1465548295] [2022-04-08 10:35:29,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1465548295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:29,196 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:29,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:35:29,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816966745] [2022-04-08 10:35:29,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:29,196 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-08 10:35:29,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:29,196 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-08 10:35:29,222 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-08 10:35:29,222 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:35:29,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:29,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:35:29,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-08 10:35:29,222 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-08 10:35:35,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:35,626 INFO L93 Difference]: Finished difference Result 540 states and 625 transitions. [2022-04-08 10:35:35,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 10:35:35,626 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-08 10:35:35,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:35,626 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-08 10:35:35,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-08 10:35:35,627 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-08 10:35:35,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-08 10:35:35,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 95 transitions. [2022-04-08 10:35:35,695 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-08 10:35:35,708 INFO L225 Difference]: With dead ends: 540 [2022-04-08 10:35:35,708 INFO L226 Difference]: Without dead ends: 502 [2022-04-08 10:35:35,713 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 275 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=363, Invalid=1043, Unknown=0, NotChecked=0, Total=1406 [2022-04-08 10:35:35,713 INFO L913 BasicCegarLoop]: 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-08 10:35:35,713 INFO L914 BasicCegarLoop]: 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-08 10:35:35,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 502 states. [2022-04-08 10:35:41,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 502 to 478. [2022-04-08 10:35:41,458 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:41,458 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-08 10:35:41,459 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-08 10:35:41,459 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-08 10:35:41,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:41,469 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-08 10:35:41,469 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-08 10:35:41,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:41,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:41,471 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-08 10:35:41,472 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-08 10:35:41,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:41,482 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-08 10:35:41,482 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-08 10:35:41,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:41,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:41,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:41,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:41,491 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-08 10:35:41,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 478 states to 478 states and 547 transitions. [2022-04-08 10:35:41,504 INFO L78 Accepts]: Start accepts. Automaton has 478 states and 547 transitions. Word has length 50 [2022-04-08 10:35:41,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:41,504 INFO L478 AbstractCegarLoop]: Abstraction has 478 states and 547 transitions. [2022-04-08 10:35:41,504 INFO L479 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-08 10:35:41,504 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 478 states and 547 transitions. [2022-04-08 10:35:42,664 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-08 10:35:42,664 INFO L276 IsEmpty]: Start isEmpty. Operand 478 states and 547 transitions. [2022-04-08 10:35:42,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 10:35:42,666 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:42,666 INFO L499 BasicCegarLoop]: 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-08 10:35:42,683 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-08 10:35:42,866 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable58 [2022-04-08 10:35:42,867 INFO L403 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:42,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:42,867 INFO L85 PathProgramCache]: Analyzing trace with hash -2133989358, now seen corresponding path program 99 times [2022-04-08 10:35:42,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:42,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [581846632] [2022-04-08 10:35:42,869 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:42,869 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:42,869 INFO L85 PathProgramCache]: Analyzing trace with hash -2133989358, now seen corresponding path program 100 times [2022-04-08 10:35:42,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:42,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596569355] [2022-04-08 10:35:42,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:42,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:42,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:42,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:42,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:42,901 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-08 10:35:42,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:42,901 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-08 10:35:42,901 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:42,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:42,989 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-08 10:35:42,990 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-08 10:35:42,990 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-08 10:35:42,991 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-08 10:35:42,992 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-08 10:35:42,992 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-08 10:35:42,992 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-08 10:35:42,993 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-08 10:35:42,993 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-08 10:35:42,994 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-08 10:35:42,994 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-08 10:35:42,995 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-08 10:35:42,995 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-08 10:35:42,996 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-08 10:35:42,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-08 10:35:42,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-08 10:35:42,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-08 10:35:42,996 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-08 10:35:42,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:35:43,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:43,003 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-08 10:35:43,003 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-08 10:35:43,003 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-08 10:35:43,003 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-08 10:35:43,003 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-08 10:35:43,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-08 10:35:43,004 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-08 10:35:43,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-08 10:35:43,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-08 10:35:43,004 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-08 10:35:43,004 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-08 10:35:43,004 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-08 10:35:43,004 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-08 10:35:43,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-08 10:35:43,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-08 10:35:43,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-08 10:35:43,004 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-08 10:35:43,005 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-08 10:35:43,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-08 10:35:43,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-08 10:35:43,005 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-08 10:35:43,005 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-08 10:35:43,005 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-08 10:35:43,005 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-08 10:35:43,006 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-08 10:35:43,006 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-08 10:35:43,006 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-08 10:35:43,007 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-08 10:35:43,007 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-08 10:35:43,007 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-08 10:35:43,008 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-08 10:35:43,008 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-08 10:35:43,008 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-08 10:35:43,009 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-08 10:35:43,009 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-08 10:35:43,010 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-08 10:35:43,010 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-08 10:35:43,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-08 10:35:43,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-08 10:35:43,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-08 10:35:43,010 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-08 10:35:43,011 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-08 10:35:43,011 INFO L290 TraceCheckUtils]: 35: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-08 10:35:43,011 INFO L290 TraceCheckUtils]: 36: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 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-08 10:35:43,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-08 10:35:43,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-08 10:35:43,011 INFO L290 TraceCheckUtils]: 43: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,011 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-08 10:35:43,011 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-08 10:35:43,012 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-08 10:35:43,012 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-08 10:35:43,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-08 10:35:43,012 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-08 10:35:43,012 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-08 10:35:43,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:43,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596569355] [2022-04-08 10:35:43,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596569355] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:43,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1847479401] [2022-04-08 10:35:43,012 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:35:43,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:43,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:43,013 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-08 10:35:43,014 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-08 10:35:43,089 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:35:43,089 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:43,090 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 10:35:43,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:43,100 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:43,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {93868#true} call ULTIMATE.init(); {93868#true} is VALID [2022-04-08 10:35:43,308 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-08 10:35:43,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-08 10:35:43,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-08 10:35:43,308 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-08 10:35:43,308 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-08 10:35:43,308 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-08 10:35:43,308 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-08 10:35:43,309 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-08 10:35:43,309 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-08 10:35:43,310 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-08 10:35:43,310 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-08 10:35:43,310 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-08 10:35:43,311 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-08 10:35:43,311 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-08 10:35:43,311 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-08 10:35:43,312 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-08 10:35:43,312 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-08 10:35:43,313 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-08 10:35:43,313 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-08 10:35:43,313 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-08 10:35:43,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-08 10:35:43,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-08 10:35:43,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-08 10:35:43,314 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 INFO L290 TraceCheckUtils]: 33: Hoare triple {93869#false} assume !(~b~1 < ~n); {93869#false} is VALID [2022-04-08 10:35:43,314 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-08 10:35:43,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {93869#false} assume !(~l~1 < ~m); {93869#false} is VALID [2022-04-08 10:35:43,314 INFO L290 TraceCheckUtils]: 36: Hoare triple {93869#false} ~x~1 := 0;~y~1 := 0; {93869#false} is VALID [2022-04-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,314 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-08 10:35:43,315 INFO L290 TraceCheckUtils]: 41: Hoare triple {93869#false} assume !(~x~1 < ~i~1); {93869#false} is VALID [2022-04-08 10:35:43,315 INFO L290 TraceCheckUtils]: 42: Hoare triple {93869#false} #res := ~y~1; {93869#false} is VALID [2022-04-08 10:35:43,315 INFO L290 TraceCheckUtils]: 43: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-08 10:35:43,315 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93869#false} {93869#false} #113#return; {93869#false} is VALID [2022-04-08 10:35:43,315 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-08 10:35:43,315 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-08 10:35:43,315 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-08 10:35:43,315 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-08 10:35:43,315 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-08 10:35:43,315 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-08 10:35:43,315 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:43,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {93869#false} assume !false; {93869#false} is VALID [2022-04-08 10:35:43,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {93869#false} assume 0 == ~cond; {93869#false} is VALID [2022-04-08 10:35:43,487 INFO L290 TraceCheckUtils]: 47: Hoare triple {93869#false} ~cond := #in~cond; {93869#false} is VALID [2022-04-08 10:35:43,487 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-08 10:35:43,487 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-08 10:35:43,488 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {93868#true} {93869#false} #113#return; {93869#false} is VALID [2022-04-08 10:35:43,488 INFO L290 TraceCheckUtils]: 43: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {93868#true} #res := ~y~1; {93868#true} is VALID [2022-04-08 10:35:43,488 INFO L290 TraceCheckUtils]: 41: Hoare triple {93868#true} assume !(~x~1 < ~i~1); {93868#true} is VALID [2022-04-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {93868#true} ~x~1 := 0;~y~1 := 0; {93868#true} is VALID [2022-04-08 10:35:43,488 INFO L290 TraceCheckUtils]: 35: Hoare triple {93868#true} assume !(~l~1 < ~m); {93868#true} is VALID [2022-04-08 10:35:43,488 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-08 10:35:43,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {93868#true} assume !(~b~1 < ~n); {93868#true} is VALID [2022-04-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 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-08 10:35:43,488 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93869#false} {93868#true} #111#return; {93869#false} is VALID [2022-04-08 10:35:43,489 INFO L290 TraceCheckUtils]: 24: Hoare triple {93869#false} assume true; {93869#false} is VALID [2022-04-08 10:35:43,489 INFO L290 TraceCheckUtils]: 23: Hoare triple {93869#false} #res := ~y~0; {93869#false} is VALID [2022-04-08 10:35:43,489 INFO L290 TraceCheckUtils]: 22: Hoare triple {93869#false} assume !(~x~0 < ~i~0); {93869#false} is VALID [2022-04-08 10:35:43,489 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-08 10:35:43,490 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-08 10:35:43,490 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-08 10:35:43,490 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-08 10:35:43,491 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-08 10:35:43,491 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-08 10:35:43,491 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-08 10:35:43,492 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-08 10:35:43,492 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-08 10:35:43,492 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-08 10:35:43,493 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-08 10:35:43,493 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-08 10:35:43,494 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-08 10:35:43,494 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-08 10:35:43,494 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-08 10:35:43,494 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-08 10:35:43,494 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-08 10:35:43,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {93868#true} call #t~ret10 := main(); {93868#true} is VALID [2022-04-08 10:35:43,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93868#true} {93868#true} #117#return; {93868#true} is VALID [2022-04-08 10:35:43,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {93868#true} assume true; {93868#true} is VALID [2022-04-08 10:35:43,494 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-08 10:35:43,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {93868#true} call ULTIMATE.init(); {93868#true} is VALID [2022-04-08 10:35:43,495 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-08 10:35:43,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1847479401] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:43,495 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:43,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-08 10:35:43,495 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:43,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [581846632] [2022-04-08 10:35:43,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [581846632] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:43,495 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:43,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:35:43,495 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [753295191] [2022-04-08 10:35:43,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:43,495 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-08 10:35:43,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:43,496 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-08 10:35:43,522 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-08 10:35:43,522 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:35:43,522 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:43,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:35:43,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-08 10:35:43,522 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-08 10:35:50,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:50,656 INFO L93 Difference]: Finished difference Result 857 states and 980 transitions. [2022-04-08 10:35:50,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 10:35:50,656 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-08 10:35:50,656 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:50,656 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-08 10:35:50,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-08 10:35:50,657 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-08 10:35:50,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-08 10:35:50,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 108 transitions. [2022-04-08 10:35:50,734 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-08 10:35:50,754 INFO L225 Difference]: With dead ends: 857 [2022-04-08 10:35:50,754 INFO L226 Difference]: Without dead ends: 560 [2022-04-08 10:35:50,757 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 289 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=363, Invalid=1043, Unknown=0, NotChecked=0, Total=1406 [2022-04-08 10:35:50,757 INFO L913 BasicCegarLoop]: 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-08 10:35:50,757 INFO L914 BasicCegarLoop]: 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-08 10:35:50,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 560 states. [2022-04-08 10:35:57,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 560 to 536. [2022-04-08 10:35:57,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:57,168 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-08 10:35:57,169 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-08 10:35:57,169 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-08 10:35:57,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:57,181 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-08 10:35:57,181 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-08 10:35:57,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:57,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:57,183 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-08 10:35:57,183 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-08 10:35:57,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:57,194 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-08 10:35:57,194 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-08 10:35:57,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:57,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:57,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:57,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:57,196 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-08 10:35:57,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 614 transitions. [2022-04-08 10:35:57,219 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 614 transitions. Word has length 50 [2022-04-08 10:35:57,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:57,219 INFO L478 AbstractCegarLoop]: Abstraction has 536 states and 614 transitions. [2022-04-08 10:35:57,219 INFO L479 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-08 10:35:57,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 536 states and 614 transitions. [2022-04-08 10:35:58,516 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-08 10:35:58,517 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 614 transitions. [2022-04-08 10:35:58,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:35:58,519 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:58,519 INFO L499 BasicCegarLoop]: 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-08 10:35:58,535 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-08 10:35:58,719 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable59 [2022-04-08 10:35:58,720 INFO L403 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:58,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:58,720 INFO L85 PathProgramCache]: Analyzing trace with hash -33846038, now seen corresponding path program 101 times [2022-04-08 10:35:58,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:58,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [357208088] [2022-04-08 10:35:58,722 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:58,722 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:58,722 INFO L85 PathProgramCache]: Analyzing trace with hash -33846038, now seen corresponding path program 102 times [2022-04-08 10:35:58,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:58,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595821442] [2022-04-08 10:35:58,722 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:58,722 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:58,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:58,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:58,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:58,804 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-08 10:35:58,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-08 10:35:58,804 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-08 10:35:58,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:58,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:59,029 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-08 10:35:59,030 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-08 10:35:59,030 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-08 10:35:59,030 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-08 10:35:59,031 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-08 10:35:59,031 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-08 10:35:59,032 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-08 10:35:59,032 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-08 10:35:59,033 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-08 10:35:59,033 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-08 10:35:59,034 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-08 10:35:59,034 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-08 10:35:59,034 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-08 10:35:59,035 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-08 10:35:59,035 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-08 10:35:59,036 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-08 10:35:59,036 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-08 10:35:59,037 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-08 10:35:59,037 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:35:59,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:59,322 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-08 10:35:59,322 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-08 10:35:59,323 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-08 10:35:59,323 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-08 10:35:59,324 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-08 10:35:59,324 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-08 10:35:59,325 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-08 10:35:59,325 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-08 10:35:59,325 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-08 10:35:59,326 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-08 10:35:59,326 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-08 10:35:59,327 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-08 10:35:59,327 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-08 10:35:59,327 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-08 10:35:59,328 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-08 10:35:59,328 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-08 10:35:59,328 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-08 10:35:59,329 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-08 10:35:59,330 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-08 10:35:59,330 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-08 10:35:59,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-08 10:35:59,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-08 10:35:59,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-08 10:35:59,330 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-08 10:35:59,330 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-08 10:35:59,330 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-08 10:35:59,330 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-08 10:35:59,331 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-08 10:35:59,331 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-08 10:35:59,332 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-08 10:35:59,332 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-08 10:35:59,332 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-08 10:35:59,333 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-08 10:35:59,333 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-08 10:35:59,334 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-08 10:35:59,334 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-08 10:35:59,335 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-08 10:35:59,335 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-08 10:35:59,335 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-08 10:35:59,336 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-08 10:35:59,336 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-08 10:35:59,336 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-08 10:35:59,337 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-08 10:35:59,337 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-08 10:35:59,338 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-08 10:35:59,338 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-08 10:35:59,338 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-08 10:35:59,339 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-08 10:35:59,339 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-08 10:35:59,339 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-08 10:35:59,340 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-08 10:35:59,340 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-08 10:35:59,341 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-08 10:35:59,341 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-08 10:35:59,342 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-08 10:35:59,342 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-08 10:35:59,342 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-08 10:35:59,343 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-08 10:35:59,343 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-08 10:35:59,344 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-08 10:35:59,344 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-08 10:35:59,344 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-08 10:35:59,344 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-08 10:35:59,345 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-08 10:35:59,346 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-08 10:35:59,346 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-08 10:35:59,347 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-08 10:35:59,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {98215#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {98170#false} is VALID [2022-04-08 10:35:59,347 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-08 10:35:59,347 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-08 10:35:59,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:59,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595821442] [2022-04-08 10:35:59,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1595821442] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:59,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [477227768] [2022-04-08 10:35:59,347 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:35:59,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:59,348 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:59,348 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-08 10:35:59,349 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-08 10:35:59,429 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:35:59,430 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:59,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-08 10:35:59,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:59,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:00,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {98169#true} call ULTIMATE.init(); {98169#true} is VALID [2022-04-08 10:36:00,058 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-08 10:36:00,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-08 10:36:00,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-08 10:36:00,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-08 10:36:00,058 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-08 10:36:00,058 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-08 10:36:00,058 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-08 10:36:00,059 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-08 10:36:00,059 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-08 10:36:00,059 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-08 10:36:00,060 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-08 10:36:00,060 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-08 10:36:00,061 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-08 10:36:00,061 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-08 10:36:00,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-08 10:36:00,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-08 10:36:00,063 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-08 10:36:00,063 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-08 10:36:00,063 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-08 10:36:00,064 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-08 10:36:00,064 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-08 10:36:00,065 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-08 10:36:00,065 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-08 10:36:00,065 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-08 10:36:00,066 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-08 10:36:00,066 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-08 10:36:00,066 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-08 10:36:00,067 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-08 10:36:00,067 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-08 10:36:00,067 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-08 10:36:00,068 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-08 10:36:00,068 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-08 10:36:00,069 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-08 10:36:00,069 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-08 10:36:00,070 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-08 10:36:00,070 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-08 10:36:00,071 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-08 10:36:00,071 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-08 10:36:00,071 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-08 10:36:00,072 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-08 10:36:00,072 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-08 10:36:00,072 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-08 10:36:00,073 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-08 10:36:00,073 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-08 10:36:00,074 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-08 10:36:00,074 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-08 10:36:00,075 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-08 10:36:00,075 INFO L290 TraceCheckUtils]: 48: Hoare triple {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {98393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:00,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {98393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {98170#false} is VALID [2022-04-08 10:36:00,075 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-08 10:36:00,076 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-08 10:36:00,076 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:00,577 INFO L290 TraceCheckUtils]: 50: Hoare triple {98170#false} assume !false; {98170#false} is VALID [2022-04-08 10:36:00,577 INFO L290 TraceCheckUtils]: 49: Hoare triple {98393#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {98170#false} is VALID [2022-04-08 10:36:00,578 INFO L290 TraceCheckUtils]: 48: Hoare triple {98389#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {98393#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:00,578 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-08 10:36:00,579 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-08 10:36:00,580 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-08 10:36:00,580 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-08 10:36:00,580 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-08 10:36:00,581 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-08 10:36:00,581 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-08 10:36:00,581 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-08 10:36:00,582 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-08 10:36:00,582 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-08 10:36:00,583 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-08 10:36:00,583 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-08 10:36:00,584 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-08 10:36:00,584 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-08 10:36:00,585 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-08 10:36:00,585 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-08 10:36:00,585 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-08 10:36:00,586 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-08 10:36:00,586 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-08 10:36:00,587 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-08 10:36:00,587 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-08 10:36:00,587 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-08 10:36:00,588 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-08 10:36:00,588 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-08 10:36:00,588 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-08 10:36:00,589 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-08 10:36:00,589 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-08 10:36:00,589 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-08 10:36:00,590 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-08 10:36:00,590 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-08 10:36:00,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-08 10:36:00,591 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-08 10:36:00,592 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-08 10:36:00,592 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-08 10:36:00,593 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-08 10:36:00,593 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-08 10:36:00,593 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-08 10:36:00,594 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-08 10:36:00,594 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-08 10:36:00,594 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-08 10:36:00,595 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-08 10:36:00,595 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-08 10:36:00,595 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-08 10:36:00,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {98169#true} call #t~ret10 := main(); {98169#true} is VALID [2022-04-08 10:36:00,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98169#true} {98169#true} #117#return; {98169#true} is VALID [2022-04-08 10:36:00,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {98169#true} assume true; {98169#true} is VALID [2022-04-08 10:36:00,595 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-08 10:36:00,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {98169#true} call ULTIMATE.init(); {98169#true} is VALID [2022-04-08 10:36:00,595 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-08 10:36:00,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [477227768] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:00,595 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:00,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 39 [2022-04-08 10:36:00,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:00,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [357208088] [2022-04-08 10:36:00,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [357208088] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:00,596 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:00,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-08 10:36:00,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623980952] [2022-04-08 10:36:00,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:00,596 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-08 10:36:00,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:00,596 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-08 10:36:00,630 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-08 10:36:00,631 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-08 10:36:00,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:00,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-08 10:36:00,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1397, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:36:00,631 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-08 10:36:15,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:15,242 INFO L93 Difference]: Finished difference Result 628 states and 719 transitions. [2022-04-08 10:36:15,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-08 10:36:15,242 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-08 10:36:15,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:15,242 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-08 10:36:15,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-08 10:36:15,244 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-08 10:36:15,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-08 10:36:15,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 190 transitions. [2022-04-08 10:36:15,434 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-08 10:36:15,465 INFO L225 Difference]: With dead ends: 628 [2022-04-08 10:36:15,465 INFO L226 Difference]: Without dead ends: 622 [2022-04-08 10:36:15,467 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 96 SyntacticMatches, 5 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 658 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=238, Invalid=4592, Unknown=0, NotChecked=0, Total=4830 [2022-04-08 10:36:15,467 INFO L913 BasicCegarLoop]: 101 mSDtfsCounter, 219 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 4540 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:15,468 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [228 Valid, 253 Invalid, 4586 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 4540 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 10:36:15,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-08 10:36:22,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 552. [2022-04-08 10:36:22,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:22,259 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-08 10:36:22,259 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-08 10:36:22,259 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-08 10:36:22,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:22,274 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-08 10:36:22,274 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-08 10:36:22,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:22,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:22,276 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-08 10:36:22,276 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-08 10:36:22,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:22,289 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-08 10:36:22,289 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-08 10:36:22,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:22,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:22,291 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:22,291 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:22,292 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-08 10:36:22,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 633 transitions. [2022-04-08 10:36:22,306 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 633 transitions. Word has length 51 [2022-04-08 10:36:22,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:22,306 INFO L478 AbstractCegarLoop]: Abstraction has 552 states and 633 transitions. [2022-04-08 10:36:22,306 INFO L479 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-08 10:36:22,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 552 states and 633 transitions. [2022-04-08 10:36:23,668 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-08 10:36:23,668 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 633 transitions. [2022-04-08 10:36:23,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:36:23,671 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:23,671 INFO L499 BasicCegarLoop]: 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-08 10:36:23,687 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-08 10:36:23,871 WARN L460 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-08 10:36:23,871 INFO L403 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:23,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:23,872 INFO L85 PathProgramCache]: Analyzing trace with hash 2139086154, now seen corresponding path program 103 times [2022-04-08 10:36:23,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:23,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1622153414] [2022-04-08 10:36:23,874 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:23,874 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:23,874 INFO L85 PathProgramCache]: Analyzing trace with hash 2139086154, now seen corresponding path program 104 times [2022-04-08 10:36:23,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:23,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1445916464] [2022-04-08 10:36:23,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:23,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:23,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:23,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:23,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:23,968 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-08 10:36:23,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-08 10:36:23,968 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-08 10:36:23,968 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:23,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:24,192 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-08 10:36:24,192 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-08 10:36:24,193 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-08 10:36:24,193 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-08 10:36:24,194 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-08 10:36:24,194 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-08 10:36:24,195 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-08 10:36:24,196 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-08 10:36:24,196 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-08 10:36:24,197 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-08 10:36:24,197 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-08 10:36:24,198 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-08 10:36:24,198 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-08 10:36:24,199 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-08 10:36:24,199 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-08 10:36:24,200 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-08 10:36:24,200 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-08 10:36:24,201 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-08 10:36:24,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:36:24,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:24,510 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-08 10:36:24,511 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-08 10:36:24,511 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-08 10:36:24,512 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-08 10:36:24,512 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-08 10:36:24,513 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-08 10:36:24,514 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-08 10:36:24,514 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-08 10:36:24,515 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-08 10:36:24,515 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-08 10:36:24,516 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-08 10:36:24,516 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-08 10:36:24,517 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-08 10:36:24,517 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-08 10:36:24,518 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-08 10:36:24,518 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-08 10:36:24,519 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-08 10:36:24,520 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-08 10:36:24,520 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-08 10:36:24,520 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-08 10:36:24,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-08 10:36:24,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-08 10:36:24,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-08 10:36:24,521 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-08 10:36:24,521 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-08 10:36:24,521 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-08 10:36:24,521 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-08 10:36:24,522 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-08 10:36:24,522 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-08 10:36:24,523 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-08 10:36:24,523 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-08 10:36:24,524 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-08 10:36:24,525 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-08 10:36:24,525 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-08 10:36:24,526 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-08 10:36:24,526 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-08 10:36:24,527 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-08 10:36:24,527 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-08 10:36:24,528 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-08 10:36:24,529 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-08 10:36:24,529 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-08 10:36:24,529 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-08 10:36:24,530 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-08 10:36:24,531 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-08 10:36:24,531 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-08 10:36:24,531 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-08 10:36:24,532 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-08 10:36:24,532 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-08 10:36:24,533 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-08 10:36:24,533 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-08 10:36:24,534 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-08 10:36:24,534 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-08 10:36:24,535 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-08 10:36:24,535 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-08 10:36:24,536 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-08 10:36:24,537 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-08 10:36:24,537 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-08 10:36:24,537 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-08 10:36:24,538 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-08 10:36:24,539 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-08 10:36:24,539 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-08 10:36:24,539 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-08 10:36:24,540 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-08 10:36:24,541 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-08 10:36:24,541 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-08 10:36:24,542 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-08 10:36:24,543 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-08 10:36:24,543 INFO L290 TraceCheckUtils]: 49: Hoare triple {102265#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {102220#false} is VALID [2022-04-08 10:36:24,543 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-08 10:36:24,543 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-08 10:36:24,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:24,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1445916464] [2022-04-08 10:36:24,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1445916464] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:24,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1748388155] [2022-04-08 10:36:24,544 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:36:24,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:24,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:24,545 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-08 10:36:24,547 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-08 10:36:24,645 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:36:24,646 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:24,647 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 10:36:24,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:24,659 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:25,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {102219#true} call ULTIMATE.init(); {102219#true} is VALID [2022-04-08 10:36:25,376 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-08 10:36:25,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-08 10:36:25,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-08 10:36:25,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-08 10:36:25,376 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-08 10:36:25,376 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-08 10:36:25,376 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-08 10:36:25,376 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-08 10:36:25,377 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-08 10:36:25,377 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-08 10:36:25,377 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-08 10:36:25,378 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-08 10:36:25,378 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-08 10:36:25,379 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-08 10:36:25,379 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-08 10:36:25,380 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-08 10:36:25,380 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-08 10:36:25,380 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-08 10:36:25,381 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-08 10:36:25,381 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-08 10:36:25,382 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-08 10:36:25,382 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-08 10:36:25,382 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-08 10:36:25,383 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-08 10:36:25,383 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-08 10:36:25,384 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-08 10:36:25,384 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-08 10:36:25,384 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-08 10:36:25,384 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-08 10:36:25,385 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-08 10:36:25,385 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-08 10:36:25,386 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-08 10:36:25,386 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-08 10:36:25,387 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-08 10:36:25,387 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-08 10:36:25,387 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-08 10:36:25,388 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-08 10:36:25,388 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-08 10:36:25,389 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-08 10:36:25,389 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-08 10:36:25,389 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-08 10:36:25,390 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-08 10:36:25,390 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-08 10:36:25,390 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-08 10:36:25,391 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-08 10:36:25,392 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-08 10:36:25,392 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-08 10:36:25,392 INFO L290 TraceCheckUtils]: 48: Hoare triple {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {102443#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:25,393 INFO L290 TraceCheckUtils]: 49: Hoare triple {102443#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {102220#false} is VALID [2022-04-08 10:36:25,393 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-08 10:36:25,393 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-08 10:36:25,393 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:25,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {102220#false} assume !false; {102220#false} is VALID [2022-04-08 10:36:25,925 INFO L290 TraceCheckUtils]: 49: Hoare triple {102443#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {102220#false} is VALID [2022-04-08 10:36:25,925 INFO L290 TraceCheckUtils]: 48: Hoare triple {102439#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {102443#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:25,925 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-08 10:36:25,926 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-08 10:36:25,927 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-08 10:36:25,927 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-08 10:36:25,927 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-08 10:36:25,928 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-08 10:36:25,928 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-08 10:36:25,929 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-08 10:36:25,929 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-08 10:36:25,930 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-08 10:36:25,930 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-08 10:36:25,930 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-08 10:36:25,931 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-08 10:36:25,931 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-08 10:36:25,932 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-08 10:36:25,932 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-08 10:36:25,933 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-08 10:36:25,933 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-08 10:36:25,933 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-08 10:36:25,934 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-08 10:36:25,934 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-08 10:36:25,934 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-08 10:36:25,935 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-08 10:36:25,935 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-08 10:36:25,935 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-08 10:36:25,936 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-08 10:36:25,936 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-08 10:36:25,937 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-08 10:36:25,937 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-08 10:36:25,937 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-08 10:36:25,938 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-08 10:36:25,938 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-08 10:36:25,939 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-08 10:36:25,939 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-08 10:36:25,940 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-08 10:36:25,940 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-08 10:36:25,940 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-08 10:36:25,941 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-08 10:36:25,941 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-08 10:36:25,941 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-08 10:36:25,942 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-08 10:36:25,942 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-08 10:36:25,942 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-08 10:36:25,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {102219#true} call #t~ret10 := main(); {102219#true} is VALID [2022-04-08 10:36:25,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102219#true} {102219#true} #117#return; {102219#true} is VALID [2022-04-08 10:36:25,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {102219#true} assume true; {102219#true} is VALID [2022-04-08 10:36:25,942 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-08 10:36:25,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {102219#true} call ULTIMATE.init(); {102219#true} is VALID [2022-04-08 10:36:25,942 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-08 10:36:25,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1748388155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:25,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:25,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 39 [2022-04-08 10:36:25,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:25,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1622153414] [2022-04-08 10:36:25,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1622153414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:25,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:25,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-08 10:36:25,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1210954201] [2022-04-08 10:36:25,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:25,943 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-08 10:36:25,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:25,943 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-08 10:36:25,981 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-08 10:36:25,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-08 10:36:25,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:25,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-08 10:36:25,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1393, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:36:25,981 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-08 10:36:37,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:37,869 INFO L93 Difference]: Finished difference Result 558 states and 638 transitions. [2022-04-08 10:36:37,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-08 10:36:37,870 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-08 10:36:37,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:37,870 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-08 10:36:37,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-08 10:36:37,871 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-08 10:36:37,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-08 10:36:37,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 156 transitions. [2022-04-08 10:36:37,997 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-08 10:36:38,011 INFO L225 Difference]: With dead ends: 558 [2022-04-08 10:36:38,011 INFO L226 Difference]: Without dead ends: 536 [2022-04-08 10:36:38,014 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 90 SyntacticMatches, 9 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 677 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=240, Invalid=4316, Unknown=0, NotChecked=0, Total=4556 [2022-04-08 10:36:38,014 INFO L913 BasicCegarLoop]: 81 mSDtfsCounter, 158 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 3408 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:38,014 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [161 Valid, 223 Invalid, 3443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 3408 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-08 10:36:38,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 536 states. [2022-04-08 10:36:44,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 536 to 536. [2022-04-08 10:36:44,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:44,501 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-08 10:36:44,502 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-08 10:36:44,502 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-08 10:36:44,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:44,513 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-08 10:36:44,513 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-08 10:36:44,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:44,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:44,514 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-08 10:36:44,515 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-08 10:36:44,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:44,531 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-08 10:36:44,531 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-08 10:36:44,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:44,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:44,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:44,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:44,534 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-08 10:36:44,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 615 transitions. [2022-04-08 10:36:44,551 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 615 transitions. Word has length 51 [2022-04-08 10:36:44,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:44,551 INFO L478 AbstractCegarLoop]: Abstraction has 536 states and 615 transitions. [2022-04-08 10:36:44,551 INFO L479 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-08 10:36:44,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 536 states and 615 transitions. [2022-04-08 10:36:45,868 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-08 10:36:45,868 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-08 10:36:45,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:36:45,870 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:45,871 INFO L499 BasicCegarLoop]: 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-08 10:36:45,887 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-08 10:36:46,071 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable61 [2022-04-08 10:36:46,071 INFO L403 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:46,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:46,071 INFO L85 PathProgramCache]: Analyzing trace with hash -1318950550, now seen corresponding path program 105 times [2022-04-08 10:36:46,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:46,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [8505434] [2022-04-08 10:36:46,074 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:46,074 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:46,074 INFO L85 PathProgramCache]: Analyzing trace with hash -1318950550, now seen corresponding path program 106 times [2022-04-08 10:36:46,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:46,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233762805] [2022-04-08 10:36:46,074 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:46,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:46,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:46,157 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:46,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:46,164 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-08 10:36:46,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-08 10:36:46,164 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-08 10:36:46,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:46,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:46,343 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-08 10:36:46,343 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-08 10:36:46,344 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-08 10:36:46,344 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-08 10:36:46,345 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-08 10:36:46,345 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-08 10:36:46,345 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-08 10:36:46,346 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-08 10:36:46,346 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-08 10:36:46,347 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-08 10:36:46,347 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-08 10:36:46,348 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-08 10:36:46,348 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-08 10:36:46,349 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-08 10:36:46,349 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-08 10:36:46,349 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-08 10:36:46,350 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-08 10:36:46,350 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-08 10:36:46,350 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:36:46,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:46,670 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-08 10:36:46,671 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-08 10:36:46,671 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-08 10:36:46,672 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-08 10:36:46,672 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-08 10:36:46,672 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-08 10:36:46,673 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-08 10:36:46,673 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-08 10:36:46,674 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-08 10:36:46,674 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-08 10:36:46,674 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-08 10:36:46,675 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-08 10:36:46,675 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-08 10:36:46,676 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-08 10:36:46,676 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-08 10:36:46,677 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-08 10:36:46,677 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-08 10:36:46,678 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-08 10:36:46,678 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-08 10:36:46,678 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-08 10:36:46,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-08 10:36:46,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-08 10:36:46,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-08 10:36:46,679 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-08 10:36:46,679 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-08 10:36:46,679 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-08 10:36:46,679 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-08 10:36:46,679 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-08 10:36:46,680 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-08 10:36:46,680 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-08 10:36:46,680 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-08 10:36:46,681 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-08 10:36:46,681 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-08 10:36:46,682 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-08 10:36:46,682 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-08 10:36:46,683 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-08 10:36:46,683 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-08 10:36:46,683 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-08 10:36:46,684 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-08 10:36:46,684 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-08 10:36:46,685 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-08 10:36:46,685 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-08 10:36:46,685 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-08 10:36:46,686 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-08 10:36:46,686 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-08 10:36:46,687 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-08 10:36:46,687 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-08 10:36:46,687 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-08 10:36:46,688 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-08 10:36:46,688 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-08 10:36:46,688 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-08 10:36:46,689 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-08 10:36:46,689 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-08 10:36:46,690 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-08 10:36:46,690 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-08 10:36:46,690 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-08 10:36:46,691 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-08 10:36:46,691 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-08 10:36:46,692 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-08 10:36:46,692 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-08 10:36:46,693 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-08 10:36:46,693 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-08 10:36:46,693 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-08 10:36:46,694 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-08 10:36:46,694 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-08 10:36:46,695 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-08 10:36:46,695 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-08 10:36:46,696 INFO L290 TraceCheckUtils]: 49: Hoare triple {105967#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {105922#false} is VALID [2022-04-08 10:36:46,696 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-08 10:36:46,696 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-08 10:36:46,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:46,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233762805] [2022-04-08 10:36:46,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1233762805] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:46,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2143008384] [2022-04-08 10:36:46,696 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:36:46,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:46,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:46,697 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-08 10:36:46,698 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-08 10:36:46,776 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:36:46,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:46,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 10:36:46,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:46,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:47,536 INFO L272 TraceCheckUtils]: 0: Hoare triple {105921#true} call ULTIMATE.init(); {105921#true} is VALID [2022-04-08 10:36:47,537 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-08 10:36:47,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-08 10:36:47,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-08 10:36:47,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-08 10:36:47,537 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-08 10:36:47,537 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-08 10:36:47,537 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-08 10:36:47,537 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-08 10:36:47,538 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-08 10:36:47,538 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-08 10:36:47,538 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-08 10:36:47,539 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-08 10:36:47,539 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-08 10:36:47,540 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-08 10:36:47,540 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-08 10:36:47,541 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-08 10:36:47,541 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-08 10:36:47,541 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-08 10:36:47,542 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-08 10:36:47,542 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-08 10:36:47,543 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-08 10:36:47,543 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-08 10:36:47,543 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-08 10:36:47,544 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-08 10:36:47,552 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-08 10:36:47,552 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-08 10:36:47,552 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-08 10:36:47,553 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-08 10:36:47,553 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-08 10:36:47,554 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-08 10:36:47,554 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-08 10:36:47,555 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-08 10:36:47,555 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-08 10:36:47,556 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-08 10:36:47,557 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-08 10:36:47,557 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-08 10:36:47,558 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-08 10:36:47,558 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-08 10:36:47,559 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-08 10:36:47,559 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-08 10:36:47,560 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-08 10:36:47,561 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-08 10:36:47,561 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-08 10:36:47,561 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-08 10:36:47,563 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-08 10:36:47,563 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-08 10:36:47,564 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-08 10:36:47,564 INFO L290 TraceCheckUtils]: 48: Hoare triple {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {106145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:47,565 INFO L290 TraceCheckUtils]: 49: Hoare triple {106145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {105922#false} is VALID [2022-04-08 10:36:47,565 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-08 10:36:47,565 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-08 10:36:47,565 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:48,076 INFO L290 TraceCheckUtils]: 50: Hoare triple {105922#false} assume !false; {105922#false} is VALID [2022-04-08 10:36:48,077 INFO L290 TraceCheckUtils]: 49: Hoare triple {106145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {105922#false} is VALID [2022-04-08 10:36:48,077 INFO L290 TraceCheckUtils]: 48: Hoare triple {106141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {106145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:36:48,078 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-08 10:36:48,078 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-08 10:36:48,079 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-08 10:36:48,079 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-08 10:36:48,080 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-08 10:36:48,080 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-08 10:36:48,081 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-08 10:36:48,081 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-08 10:36:48,082 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-08 10:36:48,082 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-08 10:36:48,082 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-08 10:36:48,083 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-08 10:36:48,083 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-08 10:36:48,084 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-08 10:36:48,084 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-08 10:36:48,084 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-08 10:36:48,085 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-08 10:36:48,085 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-08 10:36:48,086 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-08 10:36:48,086 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-08 10:36:48,086 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-08 10:36:48,086 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-08 10:36:48,087 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-08 10:36:48,087 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-08 10:36:48,088 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-08 10:36:48,088 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-08 10:36:48,088 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-08 10:36:48,089 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-08 10:36:48,089 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-08 10:36:48,090 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-08 10:36:48,090 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-08 10:36:48,091 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-08 10:36:48,091 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-08 10:36:48,092 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-08 10:36:48,092 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-08 10:36:48,092 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-08 10:36:48,093 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-08 10:36:48,093 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-08 10:36:48,093 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-08 10:36:48,094 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-08 10:36:48,094 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-08 10:36:48,094 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-08 10:36:48,094 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-08 10:36:48,094 INFO L272 TraceCheckUtils]: 4: Hoare triple {105921#true} call #t~ret10 := main(); {105921#true} is VALID [2022-04-08 10:36:48,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105921#true} {105921#true} #117#return; {105921#true} is VALID [2022-04-08 10:36:48,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {105921#true} assume true; {105921#true} is VALID [2022-04-08 10:36:48,094 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-08 10:36:48,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {105921#true} call ULTIMATE.init(); {105921#true} is VALID [2022-04-08 10:36:48,094 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-08 10:36:48,094 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2143008384] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:48,095 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:48,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 39 [2022-04-08 10:36:48,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:48,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [8505434] [2022-04-08 10:36:48,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [8505434] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:48,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:48,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-08 10:36:48,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [144120012] [2022-04-08 10:36:48,095 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:48,095 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-08 10:36:48,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:48,095 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-08 10:36:48,127 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-08 10:36:48,127 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-08 10:36:48,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:48,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-08 10:36:48,128 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1389, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:36:48,128 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-08 10:36:58,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:58,510 INFO L93 Difference]: Finished difference Result 542 states and 620 transitions. [2022-04-08 10:36:58,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 10:36:58,511 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-08 10:36:58,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:58,511 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-08 10:36:58,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-08 10:36:58,512 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-08 10:36:58,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-08 10:36:58,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 126 transitions. [2022-04-08 10:36:58,615 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-08 10:36:58,628 INFO L225 Difference]: With dead ends: 542 [2022-04-08 10:36:58,628 INFO L226 Difference]: Without dead ends: 518 [2022-04-08 10:36:58,631 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 88 SyntacticMatches, 9 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 682 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=242, Invalid=4048, Unknown=0, NotChecked=0, Total=4290 [2022-04-08 10:36:58,631 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 120 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2323 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:58,631 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 190 Invalid, 2359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 2323 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 10:36:58,632 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 518 states. [2022-04-08 10:37:04,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 518 to 518. [2022-04-08 10:37:04,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:04,791 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-08 10:37:04,791 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-08 10:37:04,791 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-08 10:37:04,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:04,802 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-08 10:37:04,802 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-08 10:37:04,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:04,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:04,803 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-08 10:37:04,804 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-08 10:37:04,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:04,819 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-08 10:37:04,819 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-08 10:37:04,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:04,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:04,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:04,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:04,822 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-08 10:37:04,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 518 states to 518 states and 595 transitions. [2022-04-08 10:37:04,837 INFO L78 Accepts]: Start accepts. Automaton has 518 states and 595 transitions. Word has length 51 [2022-04-08 10:37:04,837 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:04,837 INFO L478 AbstractCegarLoop]: Abstraction has 518 states and 595 transitions. [2022-04-08 10:37:04,837 INFO L479 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-08 10:37:04,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 518 states and 595 transitions. [2022-04-08 10:37:06,169 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-08 10:37:06,169 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-08 10:37:06,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:37:06,171 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:06,171 INFO L499 BasicCegarLoop]: 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-08 10:37:06,190 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Forceful destruction successful, exit code 0 [2022-04-08 10:37:06,375 WARN L460 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-08 10:37:06,375 INFO L403 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:06,375 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:06,376 INFO L85 PathProgramCache]: Analyzing trace with hash -774418501, now seen corresponding path program 107 times [2022-04-08 10:37:06,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:06,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1074929168] [2022-04-08 10:37:06,382 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:06,382 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:06,382 INFO L85 PathProgramCache]: Analyzing trace with hash -774418501, now seen corresponding path program 108 times [2022-04-08 10:37:06,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:06,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160658481] [2022-04-08 10:37:06,383 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:06,383 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:06,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:06,415 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:06,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:06,417 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-08 10:37:06,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-08 10:37:06,417 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-08 10:37:06,417 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:06,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:06,504 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-08 10:37:06,505 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-08 10:37:06,505 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-08 10:37:06,506 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-08 10:37:06,506 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-08 10:37:06,507 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-08 10:37:06,507 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-08 10:37:06,508 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-08 10:37:06,508 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-08 10:37:06,508 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-08 10:37:06,508 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-08 10:37:06,509 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-08 10:37:06,509 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-08 10:37:06,509 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-08 10:37:06,509 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-08 10:37:06,510 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-08 10:37:06,510 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-08 10:37:06,510 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:37:06,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:06,653 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-08 10:37:06,654 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-08 10:37:06,654 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-08 10:37:06,655 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-08 10:37:06,655 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-08 10:37:06,656 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-08 10:37:06,656 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-08 10:37:06,657 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-08 10:37:06,657 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-08 10:37:06,657 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-08 10:37:06,658 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-08 10:37:06,658 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-08 10:37:06,658 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-08 10:37:06,658 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-08 10:37:06,659 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-08 10:37:06,659 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-08 10:37:06,659 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-08 10:37:06,659 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-08 10:37:06,660 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-08 10:37:06,660 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-08 10:37:06,661 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-08 10:37:06,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-08 10:37:06,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-08 10:37:06,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-08 10:37:06,661 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-08 10:37:06,661 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-08 10:37:06,661 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-08 10:37:06,661 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-08 10:37:06,662 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-08 10:37:06,662 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-08 10:37:06,663 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-08 10:37:06,663 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-08 10:37:06,664 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-08 10:37:06,664 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-08 10:37:06,664 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-08 10:37:06,665 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-08 10:37:06,665 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-08 10:37:06,665 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-08 10:37:06,665 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-08 10:37:06,666 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-08 10:37:06,666 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-08 10:37:06,666 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-08 10:37:06,666 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-08 10:37:06,667 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-08 10:37:06,667 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-08 10:37:06,667 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-08 10:37:06,668 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-08 10:37:06,668 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-08 10:37:06,669 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-08 10:37:06,669 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-08 10:37:06,670 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-08 10:37:06,670 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-08 10:37:06,671 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-08 10:37:06,671 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-08 10:37:06,671 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-08 10:37:06,672 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-08 10:37:06,672 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-08 10:37:06,672 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-08 10:37:06,672 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-08 10:37:06,673 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-08 10:37:06,673 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-08 10:37:06,673 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-08 10:37:06,673 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-08 10:37:06,674 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-08 10:37:06,674 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-08 10:37:06,674 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-08 10:37:06,674 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-08 10:37:06,674 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-08 10:37:06,675 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-08 10:37:06,675 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-08 10:37:06,675 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-08 10:37:06,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:06,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160658481] [2022-04-08 10:37:06,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160658481] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:06,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [287184788] [2022-04-08 10:37:06,675 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:37:06,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:06,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:06,676 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-08 10:37:06,677 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-08 10:37:06,757 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:37:06,757 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:06,758 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:37:06,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:06,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:07,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {109515#true} call ULTIMATE.init(); {109515#true} is VALID [2022-04-08 10:37:07,640 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-08 10:37:07,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-08 10:37:07,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-08 10:37:07,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-08 10:37:07,640 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-08 10:37:07,640 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-08 10:37:07,640 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-08 10:37:07,641 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-08 10:37:07,641 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-08 10:37:07,642 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-08 10:37:07,642 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-08 10:37:07,643 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-08 10:37:07,643 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-08 10:37:07,644 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-08 10:37:07,644 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-08 10:37:07,644 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-08 10:37:07,644 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-08 10:37:07,645 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-08 10:37:07,645 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-08 10:37:07,645 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-08 10:37:07,645 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-08 10:37:07,646 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-08 10:37:07,646 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-08 10:37:07,647 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-08 10:37:07,647 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-08 10:37:07,647 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-08 10:37:07,647 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-08 10:37:07,648 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-08 10:37:07,648 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-08 10:37:07,649 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-08 10:37:07,650 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-08 10:37:07,650 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-08 10:37:07,650 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-08 10:37:07,651 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-08 10:37:07,651 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-08 10:37:07,651 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-08 10:37:07,651 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-08 10:37:07,652 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-08 10:37:07,652 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-08 10:37:07,652 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-08 10:37:07,652 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-08 10:37:07,653 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-08 10:37:07,653 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-08 10:37:07,653 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-08 10:37:07,654 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-08 10:37:07,654 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-08 10:37:07,654 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-08 10:37:07,654 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-08 10:37:07,654 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-08 10:37:07,654 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-08 10:37:07,654 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-08 10:37:07,654 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:09,022 INFO L290 TraceCheckUtils]: 50: Hoare triple {109516#false} assume !false; {109516#false} is VALID [2022-04-08 10:37:09,022 INFO L290 TraceCheckUtils]: 49: Hoare triple {109516#false} assume 0 == ~cond; {109516#false} is VALID [2022-04-08 10:37:09,022 INFO L290 TraceCheckUtils]: 48: Hoare triple {109516#false} ~cond := #in~cond; {109516#false} is VALID [2022-04-08 10:37:09,022 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-08 10:37:09,023 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-08 10:37:09,023 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-08 10:37:09,024 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-08 10:37:09,024 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-08 10:37:09,024 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-08 10:37:09,024 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-08 10:37:09,025 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-08 10:37:09,025 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-08 10:37:09,025 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-08 10:37:09,025 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-08 10:37:09,026 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-08 10:37:09,026 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-08 10:37:09,026 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-08 10:37:09,026 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-08 10:37:09,027 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-08 10:37:09,027 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-08 10:37:09,028 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-08 10:37:09,028 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-08 10:37:09,029 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-08 10:37:09,029 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-08 10:37:09,029 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-08 10:37:09,030 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-08 10:37:09,030 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-08 10:37:09,031 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-08 10:37:09,031 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-08 10:37:09,031 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-08 10:37:09,031 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-08 10:37:09,032 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-08 10:37:09,032 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-08 10:37:09,032 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-08 10:37:09,032 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-08 10:37:09,033 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-08 10:37:09,033 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-08 10:37:09,033 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-08 10:37:09,034 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-08 10:37:09,034 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-08 10:37:09,035 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-08 10:37:09,035 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-08 10:37:09,036 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-08 10:37:09,036 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-08 10:37:09,036 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-08 10:37:09,036 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-08 10:37:09,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {109515#true} call #t~ret10 := main(); {109515#true} is VALID [2022-04-08 10:37:09,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109515#true} {109515#true} #117#return; {109515#true} is VALID [2022-04-08 10:37:09,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {109515#true} assume true; {109515#true} is VALID [2022-04-08 10:37:09,036 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-08 10:37:09,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {109515#true} call ULTIMATE.init(); {109515#true} is VALID [2022-04-08 10:37:09,036 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-08 10:37:09,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [287184788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:09,037 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:09,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-08 10:37:09,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:09,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1074929168] [2022-04-08 10:37:09,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1074929168] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:09,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:09,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:37:09,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2055050194] [2022-04-08 10:37:09,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:09,038 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-08 10:37:09,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:09,038 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-08 10:37:09,067 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-08 10:37:09,067 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:37:09,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:09,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:37:09,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:37:09,068 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-08 10:37:18,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:18,572 INFO L93 Difference]: Finished difference Result 590 states and 681 transitions. [2022-04-08 10:37:18,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:37:18,573 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-08 10:37:18,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:18,573 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-08 10:37:18,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 130 transitions. [2022-04-08 10:37:18,574 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-08 10:37:18,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 130 transitions. [2022-04-08 10:37:18,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 130 transitions. [2022-04-08 10:37:18,677 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-08 10:37:18,708 INFO L225 Difference]: With dead ends: 590 [2022-04-08 10:37:18,709 INFO L226 Difference]: Without dead ends: 573 [2022-04-08 10:37:18,712 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 353 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=237, Invalid=2519, Unknown=0, NotChecked=0, Total=2756 [2022-04-08 10:37:18,712 INFO L913 BasicCegarLoop]: 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:18,712 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [168 Valid, 140 Invalid, 1355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 1334 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 10:37:18,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 573 states. [2022-04-08 10:37:25,744 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 573 to 568. [2022-04-08 10:37:25,744 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:25,745 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-08 10:37:25,745 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-08 10:37:25,746 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-08 10:37:25,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:25,758 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-08 10:37:25,758 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-08 10:37:25,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:25,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:25,761 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-08 10:37:25,761 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-08 10:37:25,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:25,774 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-08 10:37:25,774 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-08 10:37:25,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:25,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:25,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:25,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:25,777 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-08 10:37:25,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 568 states to 568 states and 651 transitions. [2022-04-08 10:37:25,793 INFO L78 Accepts]: Start accepts. Automaton has 568 states and 651 transitions. Word has length 51 [2022-04-08 10:37:25,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:25,794 INFO L478 AbstractCegarLoop]: Abstraction has 568 states and 651 transitions. [2022-04-08 10:37:25,794 INFO L479 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-08 10:37:25,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 568 states and 651 transitions. [2022-04-08 10:37:27,276 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-08 10:37:27,276 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 651 transitions. [2022-04-08 10:37:27,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:37:27,279 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:27,279 INFO L499 BasicCegarLoop]: 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-08 10:37:27,295 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-08 10:37:27,480 WARN L460 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-08 10:37:27,480 INFO L403 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:27,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:27,480 INFO L85 PathProgramCache]: Analyzing trace with hash -103251766, now seen corresponding path program 109 times [2022-04-08 10:37:27,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:27,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [775560941] [2022-04-08 10:37:27,484 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:27,484 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:27,484 INFO L85 PathProgramCache]: Analyzing trace with hash -103251766, now seen corresponding path program 110 times [2022-04-08 10:37:27,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:27,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636843439] [2022-04-08 10:37:27,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:27,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:27,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:27,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:27,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:27,574 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-08 10:37:27,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-08 10:37:27,574 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-08 10:37:27,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:27,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:27,715 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-08 10:37:27,716 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-08 10:37:27,716 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-08 10:37:27,717 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-08 10:37:27,717 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-08 10:37:27,717 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-08 10:37:27,718 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-08 10:37:27,718 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-08 10:37:27,719 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-08 10:37:27,719 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-08 10:37:27,719 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-08 10:37:27,720 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-08 10:37:27,721 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-08 10:37:27,721 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-08 10:37:27,721 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-08 10:37:27,722 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-08 10:37:27,722 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-08 10:37:27,723 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-08 10:37:27,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:37:27,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:27,934 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-08 10:37:27,934 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-08 10:37:27,935 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-08 10:37:27,935 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-08 10:37:27,936 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-08 10:37:27,936 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-08 10:37:27,936 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-08 10:37:27,937 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-08 10:37:27,937 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-08 10:37:27,938 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-08 10:37:27,938 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-08 10:37:27,939 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-08 10:37:27,939 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-08 10:37:27,940 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-08 10:37:27,940 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-08 10:37:27,940 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-08 10:37:27,941 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-08 10:37:27,941 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-08 10:37:27,942 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-08 10:37:27,942 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-08 10:37:27,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-08 10:37:27,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-08 10:37:27,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-08 10:37:27,942 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-08 10:37:27,942 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-08 10:37:27,942 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-08 10:37:27,943 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-08 10:37:27,943 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-08 10:37:27,943 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-08 10:37:27,944 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-08 10:37:27,944 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-08 10:37:27,944 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-08 10:37:27,945 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-08 10:37:27,945 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-08 10:37:27,946 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-08 10:37:27,946 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-08 10:37:27,946 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-08 10:37:27,947 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-08 10:37:27,947 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-08 10:37:27,948 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-08 10:37:27,948 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-08 10:37:27,949 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-08 10:37:27,949 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-08 10:37:27,950 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-08 10:37:27,950 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-08 10:37:27,950 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-08 10:37:27,950 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-08 10:37:27,951 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-08 10:37:27,951 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-08 10:37:27,951 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-08 10:37:27,952 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-08 10:37:27,952 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-08 10:37:27,953 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-08 10:37:27,953 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-08 10:37:27,953 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-08 10:37:27,954 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-08 10:37:27,954 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-08 10:37:27,955 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-08 10:37:27,955 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-08 10:37:27,956 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-08 10:37:27,956 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-08 10:37:27,956 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-08 10:37:27,957 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-08 10:37:27,957 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-08 10:37:27,958 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-08 10:37:27,958 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-08 10:37:27,959 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-08 10:37:27,959 INFO L290 TraceCheckUtils]: 49: Hoare triple {113434#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {113389#false} is VALID [2022-04-08 10:37:27,959 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-08 10:37:27,959 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-08 10:37:27,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:27,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636843439] [2022-04-08 10:37:27,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [636843439] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:27,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1197244090] [2022-04-08 10:37:27,960 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:37:27,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:27,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:27,961 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-08 10:37:27,961 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-08 10:37:28,043 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:37:28,044 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:28,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:37:28,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:28,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:28,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {113388#true} call ULTIMATE.init(); {113388#true} is VALID [2022-04-08 10:37:28,847 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-08 10:37:28,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-08 10:37:28,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-08 10:37:28,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-08 10:37:28,848 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-08 10:37:28,848 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-08 10:37:28,848 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-08 10:37:28,848 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-08 10:37:28,848 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-08 10:37:28,849 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-08 10:37:28,849 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-08 10:37:28,849 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-08 10:37:28,850 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-08 10:37:28,850 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-08 10:37:28,851 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-08 10:37:28,851 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-08 10:37:28,851 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-08 10:37:28,852 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-08 10:37:28,852 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-08 10:37:28,853 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-08 10:37:28,853 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-08 10:37:28,854 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-08 10:37:28,854 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-08 10:37:28,854 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-08 10:37:28,855 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-08 10:37:28,855 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-08 10:37:28,855 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-08 10:37:28,856 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-08 10:37:28,856 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-08 10:37:28,856 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-08 10:37:28,857 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-08 10:37:28,857 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-08 10:37:28,857 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-08 10:37:28,858 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-08 10:37:28,858 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-08 10:37:28,859 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-08 10:37:28,859 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-08 10:37:28,860 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-08 10:37:28,860 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-08 10:37:28,860 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-08 10:37:28,861 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-08 10:37:28,861 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-08 10:37:28,862 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-08 10:37:28,862 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-08 10:37:28,863 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-08 10:37:28,863 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-08 10:37:28,864 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-08 10:37:28,864 INFO L290 TraceCheckUtils]: 48: Hoare triple {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {113612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:37:28,864 INFO L290 TraceCheckUtils]: 49: Hoare triple {113612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {113389#false} is VALID [2022-04-08 10:37:28,864 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-08 10:37:28,864 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-08 10:37:28,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:29,352 INFO L290 TraceCheckUtils]: 50: Hoare triple {113389#false} assume !false; {113389#false} is VALID [2022-04-08 10:37:29,353 INFO L290 TraceCheckUtils]: 49: Hoare triple {113612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {113389#false} is VALID [2022-04-08 10:37:29,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {113608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {113612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:37:29,354 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-08 10:37:29,354 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-08 10:37:29,355 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-08 10:37:29,355 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-08 10:37:29,356 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-08 10:37:29,356 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-08 10:37:29,356 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-08 10:37:29,357 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-08 10:37:29,357 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-08 10:37:29,358 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-08 10:37:29,358 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-08 10:37:29,359 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-08 10:37:29,359 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-08 10:37:29,360 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-08 10:37:29,360 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-08 10:37:29,360 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-08 10:37:29,361 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-08 10:37:29,361 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-08 10:37:29,361 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-08 10:37:29,362 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-08 10:37:29,362 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-08 10:37:29,362 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-08 10:37:29,363 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-08 10:37:29,363 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-08 10:37:29,363 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-08 10:37:29,364 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-08 10:37:29,364 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-08 10:37:29,365 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-08 10:37:29,365 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-08 10:37:29,366 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-08 10:37:29,366 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-08 10:37:29,366 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-08 10:37:29,367 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-08 10:37:29,367 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-08 10:37:29,368 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-08 10:37:29,368 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-08 10:37:29,368 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-08 10:37:29,369 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-08 10:37:29,369 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-08 10:37:29,369 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-08 10:37:29,369 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-08 10:37:29,370 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-08 10:37:29,370 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-08 10:37:29,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {113388#true} call #t~ret10 := main(); {113388#true} is VALID [2022-04-08 10:37:29,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113388#true} {113388#true} #117#return; {113388#true} is VALID [2022-04-08 10:37:29,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {113388#true} assume true; {113388#true} is VALID [2022-04-08 10:37:29,370 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-08 10:37:29,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {113388#true} call ULTIMATE.init(); {113388#true} is VALID [2022-04-08 10:37:29,370 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-08 10:37:29,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1197244090] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:29,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:29,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 39 [2022-04-08 10:37:29,370 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:29,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [775560941] [2022-04-08 10:37:29,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [775560941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:29,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:29,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:37:29,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [123446810] [2022-04-08 10:37:29,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:29,371 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-08 10:37:29,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:29,371 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-08 10:37:29,401 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-08 10:37:29,401 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:37:29,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:29,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:37:29,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1385, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:37:29,402 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-08 10:37:39,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:39,272 INFO L93 Difference]: Finished difference Result 586 states and 673 transitions. [2022-04-08 10:37:39,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:37:39,272 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-08 10:37:39,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:39,272 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-08 10:37:39,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-08 10:37:39,273 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-08 10:37:39,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-08 10:37:39,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 100 transitions. [2022-04-08 10:37:39,351 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-08 10:37:39,369 INFO L225 Difference]: With dead ends: 586 [2022-04-08 10:37:39,369 INFO L226 Difference]: Without dead ends: 569 [2022-04-08 10:37:39,372 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 687 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=244, Invalid=3788, Unknown=0, NotChecked=0, Total=4032 [2022-04-08 10:37:39,373 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 1533 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:39,373 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 163 Invalid, 1567 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 1533 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 10:37:39,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 569 states. [2022-04-08 10:37:46,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 569 to 564. [2022-04-08 10:37:46,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:46,388 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-08 10:37:46,389 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-08 10:37:46,389 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-08 10:37:46,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:46,402 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-08 10:37:46,402 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-08 10:37:46,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:46,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:46,404 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-08 10:37:46,405 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-08 10:37:46,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:46,417 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-08 10:37:46,418 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-08 10:37:46,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:46,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:46,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:46,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:46,420 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-08 10:37:46,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 564 states to 564 states and 648 transitions. [2022-04-08 10:37:46,436 INFO L78 Accepts]: Start accepts. Automaton has 564 states and 648 transitions. Word has length 51 [2022-04-08 10:37:46,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:46,436 INFO L478 AbstractCegarLoop]: Abstraction has 564 states and 648 transitions. [2022-04-08 10:37:46,437 INFO L479 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-08 10:37:46,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 564 states and 648 transitions. [2022-04-08 10:37:47,891 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-08 10:37:47,891 INFO L276 IsEmpty]: Start isEmpty. Operand 564 states and 648 transitions. [2022-04-08 10:37:47,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:37:47,894 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:47,894 INFO L499 BasicCegarLoop]: 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-08 10:37:47,910 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-08 10:37:48,094 WARN L460 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-08 10:37:48,095 INFO L403 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:48,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:48,095 INFO L85 PathProgramCache]: Analyzing trace with hash -2133704513, now seen corresponding path program 111 times [2022-04-08 10:37:48,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:48,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2038467809] [2022-04-08 10:37:48,099 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:48,099 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:48,099 INFO L85 PathProgramCache]: Analyzing trace with hash -2133704513, now seen corresponding path program 112 times [2022-04-08 10:37:48,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:48,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1388214857] [2022-04-08 10:37:48,099 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:48,099 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:48,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:48,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:48,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:48,133 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-08 10:37:48,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-08 10:37:48,134 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-08 10:37:48,134 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:48,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:48,239 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-08 10:37:48,240 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-08 10:37:48,240 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-08 10:37:48,241 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-08 10:37:48,241 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-08 10:37:48,242 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-08 10:37:48,242 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-08 10:37:48,243 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-08 10:37:48,243 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-08 10:37:48,243 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-08 10:37:48,243 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-08 10:37:48,244 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-08 10:37:48,244 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-08 10:37:48,244 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-08 10:37:48,244 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-08 10:37:48,245 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-08 10:37:48,245 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-08 10:37:48,245 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-08 10:37:48,246 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-08 10:37:48,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:37:48,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:48,381 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-08 10:37:48,382 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-08 10:37:48,382 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-08 10:37:48,383 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-08 10:37:48,383 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-08 10:37:48,384 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-08 10:37:48,384 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-08 10:37:48,384 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-08 10:37:48,385 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-08 10:37:48,385 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-08 10:37:48,385 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-08 10:37:48,385 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-08 10:37:48,386 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-08 10:37:48,386 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-08 10:37:48,386 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-08 10:37:48,386 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-08 10:37:48,387 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-08 10:37:48,388 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-08 10:37:48,388 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-08 10:37:48,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-08 10:37:48,388 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-08 10:37:48,388 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-08 10:37:48,388 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-08 10:37:48,388 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-08 10:37:48,388 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-08 10:37:48,388 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-08 10:37:48,389 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-08 10:37:48,389 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-08 10:37:48,390 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-08 10:37:48,390 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-08 10:37:48,391 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-08 10:37:48,391 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-08 10:37:48,392 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-08 10:37:48,392 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-08 10:37:48,392 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-08 10:37:48,392 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-08 10:37:48,393 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-08 10:37:48,393 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-08 10:37:48,393 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-08 10:37:48,393 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-08 10:37:48,394 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-08 10:37:48,394 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-08 10:37:48,394 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-08 10:37:48,395 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-08 10:37:48,395 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-08 10:37:48,395 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-08 10:37:48,395 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-08 10:37:48,396 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-08 10:37:48,396 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-08 10:37:48,397 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-08 10:37:48,397 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-08 10:37:48,398 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-08 10:37:48,398 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-08 10:37:48,398 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-08 10:37:48,399 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-08 10:37:48,399 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-08 10:37:48,399 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-08 10:37:48,399 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-08 10:37:48,400 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-08 10:37:48,400 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-08 10:37:48,400 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-08 10:37:48,400 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-08 10:37:48,401 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-08 10:37:48,401 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-08 10:37:48,401 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-08 10:37:48,401 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-08 10:37:48,401 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-08 10:37:48,401 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-08 10:37:48,402 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-08 10:37:48,402 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:48,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1388214857] [2022-04-08 10:37:48,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1388214857] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:48,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [258634659] [2022-04-08 10:37:48,402 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:37:48,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:48,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:48,404 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-08 10:37:48,404 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-08 10:37:48,479 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:37:48,479 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:48,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:37:48,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:48,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:49,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {117260#true} call ULTIMATE.init(); {117260#true} is VALID [2022-04-08 10:37:49,381 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-08 10:37:49,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-08 10:37:49,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-08 10:37:49,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-08 10:37:49,381 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-08 10:37:49,381 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-08 10:37:49,381 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-08 10:37:49,382 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-08 10:37:49,382 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-08 10:37:49,383 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-08 10:37:49,383 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-08 10:37:49,384 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-08 10:37:49,384 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-08 10:37:49,385 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-08 10:37:49,385 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-08 10:37:49,385 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-08 10:37:49,385 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-08 10:37:49,386 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-08 10:37:49,386 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-08 10:37:49,386 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-08 10:37:49,386 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-08 10:37:49,387 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-08 10:37:49,387 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-08 10:37:49,387 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-08 10:37:49,387 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-08 10:37:49,388 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-08 10:37:49,389 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-08 10:37:49,389 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-08 10:37:49,389 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-08 10:37:49,390 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-08 10:37:49,390 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-08 10:37:49,391 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-08 10:37:49,391 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-08 10:37:49,392 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-08 10:37:49,392 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-08 10:37:49,392 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-08 10:37:49,392 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-08 10:37:49,393 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-08 10:37:49,393 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-08 10:37:49,393 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-08 10:37:49,393 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-08 10:37:49,394 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-08 10:37:49,394 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-08 10:37:49,394 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-08 10:37:49,395 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-08 10:37:49,395 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-08 10:37:49,395 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-08 10:37:49,395 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-08 10:37:49,395 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-08 10:37:49,395 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-08 10:37:49,395 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-08 10:37:49,395 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:50,734 INFO L290 TraceCheckUtils]: 50: Hoare triple {117261#false} assume !false; {117261#false} is VALID [2022-04-08 10:37:50,734 INFO L290 TraceCheckUtils]: 49: Hoare triple {117261#false} assume 0 == ~cond; {117261#false} is VALID [2022-04-08 10:37:50,734 INFO L290 TraceCheckUtils]: 48: Hoare triple {117261#false} ~cond := #in~cond; {117261#false} is VALID [2022-04-08 10:37:50,734 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-08 10:37:50,735 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-08 10:37:50,735 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-08 10:37:50,736 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-08 10:37:50,736 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-08 10:37:50,736 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-08 10:37:50,736 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-08 10:37:50,737 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-08 10:37:50,737 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-08 10:37:50,737 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-08 10:37:50,737 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-08 10:37:50,738 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-08 10:37:50,738 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-08 10:37:50,738 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-08 10:37:50,739 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-08 10:37:50,739 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-08 10:37:50,740 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-08 10:37:50,740 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-08 10:37:50,741 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-08 10:37:50,741 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-08 10:37:50,741 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-08 10:37:50,742 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-08 10:37:50,742 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-08 10:37:50,742 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-08 10:37:50,743 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-08 10:37:50,743 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-08 10:37:50,743 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-08 10:37:50,743 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-08 10:37:50,744 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-08 10:37:50,744 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-08 10:37:50,744 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-08 10:37:50,744 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-08 10:37:50,745 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-08 10:37:50,745 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-08 10:37:50,745 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-08 10:37:50,746 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-08 10:37:50,746 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-08 10:37:50,747 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-08 10:37:50,747 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-08 10:37:50,748 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-08 10:37:50,748 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-08 10:37:50,748 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-08 10:37:50,748 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-08 10:37:50,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {117260#true} call #t~ret10 := main(); {117260#true} is VALID [2022-04-08 10:37:50,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117260#true} {117260#true} #117#return; {117260#true} is VALID [2022-04-08 10:37:50,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {117260#true} assume true; {117260#true} is VALID [2022-04-08 10:37:50,748 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-08 10:37:50,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {117260#true} call ULTIMATE.init(); {117260#true} is VALID [2022-04-08 10:37:50,748 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-08 10:37:50,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [258634659] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:50,749 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:50,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-08 10:37:50,749 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:50,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2038467809] [2022-04-08 10:37:50,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2038467809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:50,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:50,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:37:50,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [240165974] [2022-04-08 10:37:50,749 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:50,749 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-08 10:37:50,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:50,750 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-08 10:37:50,779 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-08 10:37:50,779 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:37:50,779 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:50,779 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:37:50,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:37:50,780 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-08 10:38:00,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:00,185 INFO L93 Difference]: Finished difference Result 578 states and 661 transitions. [2022-04-08 10:38:00,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:38:00,185 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-08 10:38:00,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:00,186 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-08 10:38:00,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 129 transitions. [2022-04-08 10:38:00,186 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-08 10:38:00,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 129 transitions. [2022-04-08 10:38:00,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 129 transitions. [2022-04-08 10:38:00,290 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-08 10:38:00,306 INFO L225 Difference]: With dead ends: 578 [2022-04-08 10:38:00,306 INFO L226 Difference]: Without dead ends: 554 [2022-04-08 10:38:00,309 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 80 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 361 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=237, Invalid=2519, Unknown=0, NotChecked=0, Total=2756 [2022-04-08 10:38:00,309 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 162 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 1261 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:00,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [171 Valid, 134 Invalid, 1282 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 1261 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 10:38:00,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 554 states. [2022-04-08 10:38:07,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 554 to 552. [2022-04-08 10:38:07,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:07,337 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-08 10:38:07,338 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-08 10:38:07,338 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-08 10:38:07,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:07,350 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-08 10:38:07,350 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-08 10:38:07,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:07,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:07,352 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-08 10:38:07,353 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-08 10:38:07,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:07,364 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-08 10:38:07,364 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-08 10:38:07,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:07,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:07,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:07,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:07,367 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-08 10:38:07,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 628 transitions. [2022-04-08 10:38:07,381 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 628 transitions. Word has length 51 [2022-04-08 10:38:07,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:07,382 INFO L478 AbstractCegarLoop]: Abstraction has 552 states and 628 transitions. [2022-04-08 10:38:07,382 INFO L479 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-08 10:38:07,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 552 states and 628 transitions. [2022-04-08 10:38:08,829 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-08 10:38:08,829 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 628 transitions. [2022-04-08 10:38:08,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 10:38:08,832 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:08,832 INFO L499 BasicCegarLoop]: 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-08 10:38:08,848 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-08 10:38:09,032 WARN L460 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-08 10:38:09,032 INFO L403 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:09,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:09,033 INFO L85 PathProgramCache]: Analyzing trace with hash -2068699601, now seen corresponding path program 113 times [2022-04-08 10:38:09,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:09,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [395583215] [2022-04-08 10:38:09,035 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:09,035 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:09,035 INFO L85 PathProgramCache]: Analyzing trace with hash -2068699601, now seen corresponding path program 114 times [2022-04-08 10:38:09,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:09,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [378845257] [2022-04-08 10:38:09,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:09,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:09,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:09,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:09,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:09,075 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-08 10:38:09,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-08 10:38:09,075 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-08 10:38:09,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:09,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:09,211 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-08 10:38:09,211 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-08 10:38:09,212 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-08 10:38:09,212 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-08 10:38:09,213 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-08 10:38:09,213 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-08 10:38:09,214 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-08 10:38:09,214 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-08 10:38:09,215 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-08 10:38:09,215 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-08 10:38:09,216 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-08 10:38:09,216 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-08 10:38:09,217 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-08 10:38:09,217 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-08 10:38:09,217 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-08 10:38:09,217 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-08 10:38:09,218 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-08 10:38:09,218 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-08 10:38:09,219 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:38:09,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:09,525 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-08 10:38:09,525 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-08 10:38:09,526 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-08 10:38:09,527 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-08 10:38:09,527 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-08 10:38:09,528 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-08 10:38:09,529 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-08 10:38:09,529 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-08 10:38:09,530 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-08 10:38:09,531 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-08 10:38:09,531 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-08 10:38:09,532 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-08 10:38:09,532 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-08 10:38:09,533 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-08 10:38:09,533 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-08 10:38:09,533 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-08 10:38:09,534 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-08 10:38:09,534 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-08 10:38:09,535 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-08 10:38:09,536 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-08 10:38:09,536 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-08 10:38:09,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-08 10:38:09,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-08 10:38:09,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-08 10:38:09,536 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-08 10:38:09,536 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-08 10:38:09,536 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-08 10:38:09,537 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-08 10:38:09,537 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-08 10:38:09,538 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-08 10:38:09,538 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-08 10:38:09,539 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-08 10:38:09,539 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-08 10:38:09,540 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-08 10:38:09,541 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-08 10:38:09,541 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-08 10:38:09,542 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-08 10:38:09,543 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-08 10:38:09,543 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-08 10:38:09,544 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-08 10:38:09,544 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-08 10:38:09,544 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-08 10:38:09,545 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-08 10:38:09,545 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-08 10:38:09,546 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-08 10:38:09,546 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-08 10:38:09,546 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-08 10:38:09,547 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-08 10:38:09,547 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-08 10:38:09,548 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-08 10:38:09,549 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-08 10:38:09,549 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-08 10:38:09,550 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-08 10:38:09,550 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-08 10:38:09,551 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-08 10:38:09,552 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-08 10:38:09,553 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-08 10:38:09,553 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-08 10:38:09,554 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-08 10:38:09,554 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-08 10:38:09,555 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-08 10:38:09,555 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-08 10:38:09,555 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-08 10:38:09,556 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-08 10:38:09,556 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-08 10:38:09,557 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-08 10:38:09,557 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-08 10:38:09,557 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-08 10:38:09,557 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-08 10:38:09,557 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-08 10:38:09,557 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-08 10:38:09,558 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-08 10:38:09,558 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:09,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [378845257] [2022-04-08 10:38:09,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [378845257] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:09,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1854229776] [2022-04-08 10:38:09,558 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:38:09,558 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:09,558 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:09,559 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-08 10:38:09,560 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-08 10:38:09,655 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 10:38:09,656 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:09,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 10:38:09,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:09,673 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:11,083 INFO L272 TraceCheckUtils]: 0: Hoare triple {121039#true} call ULTIMATE.init(); {121039#true} is VALID [2022-04-08 10:38:11,084 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-08 10:38:11,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-08 10:38:11,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-08 10:38:11,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-08 10:38:11,084 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-08 10:38:11,084 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-08 10:38:11,084 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-08 10:38:11,084 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-08 10:38:11,085 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-08 10:38:11,085 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-08 10:38:11,086 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-08 10:38:11,086 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-08 10:38:11,087 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-08 10:38:11,087 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-08 10:38:11,088 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-08 10:38:11,088 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-08 10:38:11,089 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-08 10:38:11,089 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-08 10:38:11,090 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-08 10:38:11,090 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-08 10:38:11,090 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-08 10:38:11,091 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-08 10:38:11,091 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-08 10:38:11,091 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-08 10:38:11,092 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-08 10:38:11,092 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-08 10:38:11,092 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-08 10:38:11,093 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-08 10:38:11,093 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-08 10:38:11,093 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-08 10:38:11,094 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-08 10:38:11,095 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-08 10:38:11,095 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-08 10:38:11,096 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-08 10:38:11,096 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-08 10:38:11,097 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-08 10:38:11,097 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-08 10:38:11,098 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-08 10:38:11,098 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-08 10:38:11,099 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-08 10:38:11,099 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-08 10:38:11,099 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-08 10:38:11,099 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-08 10:38:11,100 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-08 10:38:11,100 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-08 10:38:11,101 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-08 10:38:11,101 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-08 10:38:11,101 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-08 10:38:11,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-08 10:38:11,101 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-08 10:38:11,101 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-08 10:38:11,101 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-08 10:38:11,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:13,361 INFO L290 TraceCheckUtils]: 51: Hoare triple {121040#false} assume !false; {121040#false} is VALID [2022-04-08 10:38:13,362 INFO L290 TraceCheckUtils]: 50: Hoare triple {121040#false} assume 0 == ~cond; {121040#false} is VALID [2022-04-08 10:38:13,362 INFO L290 TraceCheckUtils]: 49: Hoare triple {121040#false} ~cond := #in~cond; {121040#false} is VALID [2022-04-08 10:38:13,362 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-08 10:38:13,362 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-08 10:38:13,363 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-08 10:38:13,363 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-08 10:38:13,363 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-08 10:38:13,363 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-08 10:38:13,364 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-08 10:38:13,364 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-08 10:38:13,364 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-08 10:38:13,365 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-08 10:38:13,365 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-08 10:38:13,366 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-08 10:38:13,366 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-08 10:38:13,367 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-08 10:38:13,367 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-08 10:38:13,368 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-08 10:38:13,368 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-08 10:38:13,369 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-08 10:38:13,369 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-08 10:38:13,369 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-08 10:38:13,370 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-08 10:38:13,370 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-08 10:38:13,370 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-08 10:38:13,371 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-08 10:38:13,371 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-08 10:38:13,372 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-08 10:38:13,372 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-08 10:38:13,372 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-08 10:38:13,373 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-08 10:38:13,373 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-08 10:38:13,373 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-08 10:38:13,374 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-08 10:38:13,374 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-08 10:38:13,375 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-08 10:38:13,376 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-08 10:38:13,376 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-08 10:38:13,377 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-08 10:38:13,377 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-08 10:38:13,378 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-08 10:38:13,378 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-08 10:38:13,378 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-08 10:38:13,378 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-08 10:38:13,378 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-08 10:38:13,378 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-08 10:38:13,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {121039#true} call #t~ret10 := main(); {121039#true} is VALID [2022-04-08 10:38:13,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121039#true} {121039#true} #117#return; {121039#true} is VALID [2022-04-08 10:38:13,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {121039#true} assume true; {121039#true} is VALID [2022-04-08 10:38:13,379 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-08 10:38:13,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {121039#true} call ULTIMATE.init(); {121039#true} is VALID [2022-04-08 10:38:13,379 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-08 10:38:13,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1854229776] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:13,379 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:13,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-08 10:38:13,379 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:13,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [395583215] [2022-04-08 10:38:13,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [395583215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:13,380 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:13,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:38:13,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54445666] [2022-04-08 10:38:13,380 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:13,380 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-08 10:38:13,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:13,380 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-08 10:38:13,415 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-08 10:38:13,415 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:38:13,415 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:13,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:38:13,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-08 10:38:13,416 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-08 10:38:27,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:27,536 INFO L93 Difference]: Finished difference Result 642 states and 735 transitions. [2022-04-08 10:38:27,536 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:38:27,536 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-08 10:38:27,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:27,536 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-08 10:38:27,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 178 transitions. [2022-04-08 10:38:27,538 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-08 10:38:27,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 178 transitions. [2022-04-08 10:38:27,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 178 transitions. [2022-04-08 10:38:27,683 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-08 10:38:27,707 INFO L225 Difference]: With dead ends: 642 [2022-04-08 10:38:27,707 INFO L226 Difference]: Without dead ends: 628 [2022-04-08 10:38:27,711 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 902 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=343, Invalid=6299, Unknown=0, NotChecked=0, Total=6642 [2022-04-08 10:38:27,712 INFO L913 BasicCegarLoop]: 106 mSDtfsCounter, 210 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 3368 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:27,712 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [222 Valid, 218 Invalid, 3394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 3368 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-08 10:38:27,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 628 states. [2022-04-08 10:38:35,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 628 to 619. [2022-04-08 10:38:35,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:35,879 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-08 10:38:35,879 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-08 10:38:35,879 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-08 10:38:35,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:35,894 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-08 10:38:35,894 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-08 10:38:35,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:35,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:35,897 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-08 10:38:35,898 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-08 10:38:35,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:35,913 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-08 10:38:35,913 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-08 10:38:35,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:35,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:35,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:35,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:35,916 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-08 10:38:35,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 619 states to 619 states and 706 transitions. [2022-04-08 10:38:35,935 INFO L78 Accepts]: Start accepts. Automaton has 619 states and 706 transitions. Word has length 52 [2022-04-08 10:38:35,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:35,935 INFO L478 AbstractCegarLoop]: Abstraction has 619 states and 706 transitions. [2022-04-08 10:38:35,935 INFO L479 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-08 10:38:35,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 619 states and 706 transitions. [2022-04-08 10:38:37,632 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-08 10:38:37,633 INFO L276 IsEmpty]: Start isEmpty. Operand 619 states and 706 transitions. [2022-04-08 10:38:37,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 10:38:37,636 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:37,636 INFO L499 BasicCegarLoop]: 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-08 10:38:37,652 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Ended with exit code 0 [2022-04-08 10:38:37,836 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 58 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable66 [2022-04-08 10:38:37,837 INFO L403 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:37,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:37,837 INFO L85 PathProgramCache]: Analyzing trace with hash 333057708, now seen corresponding path program 115 times [2022-04-08 10:38:37,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:37,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1237237069] [2022-04-08 10:38:37,839 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:37,839 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:37,839 INFO L85 PathProgramCache]: Analyzing trace with hash 333057708, now seen corresponding path program 116 times [2022-04-08 10:38:37,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:37,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1336941774] [2022-04-08 10:38:37,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:37,839 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:37,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:37,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:37,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:37,888 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-08 10:38:37,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-08 10:38:37,888 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-08 10:38:37,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:37,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:38,047 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-08 10:38:38,048 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-08 10:38:38,048 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-08 10:38:38,049 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-08 10:38:38,049 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-08 10:38:38,050 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-08 10:38:38,050 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-08 10:38:38,051 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-08 10:38:38,051 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-08 10:38:38,052 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-08 10:38:38,052 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-08 10:38:38,053 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-08 10:38:38,053 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-08 10:38:38,053 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-08 10:38:38,054 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-08 10:38:38,054 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-08 10:38:38,054 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-08 10:38:38,055 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-08 10:38:38,055 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-08 10:38:38,055 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:38:38,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:38,292 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-08 10:38:38,292 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-08 10:38:38,292 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-08 10:38:38,293 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-08 10:38:38,293 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-08 10:38:38,294 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-08 10:38:38,295 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-08 10:38:38,295 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-08 10:38:38,296 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-08 10:38:38,296 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-08 10:38:38,296 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-08 10:38:38,297 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-08 10:38:38,297 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-08 10:38:38,297 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-08 10:38:38,298 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-08 10:38:38,298 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-08 10:38:38,298 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-08 10:38:38,299 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-08 10:38:38,299 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-08 10:38:38,299 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-08 10:38:38,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-08 10:38:38,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-08 10:38:38,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-08 10:38:38,300 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-08 10:38:38,300 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-08 10:38:38,300 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-08 10:38:38,300 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-08 10:38:38,300 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-08 10:38:38,301 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-08 10:38:38,301 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-08 10:38:38,302 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-08 10:38:38,302 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-08 10:38:38,303 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-08 10:38:38,303 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-08 10:38:38,304 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-08 10:38:38,304 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-08 10:38:38,305 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-08 10:38:38,305 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-08 10:38:38,306 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-08 10:38:38,306 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-08 10:38:38,306 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-08 10:38:38,307 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-08 10:38:38,307 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-08 10:38:38,307 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-08 10:38:38,308 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-08 10:38:38,308 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-08 10:38:38,308 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-08 10:38:38,309 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-08 10:38:38,309 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-08 10:38:38,309 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-08 10:38:38,310 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-08 10:38:38,310 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-08 10:38:38,311 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-08 10:38:38,311 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-08 10:38:38,312 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-08 10:38:38,312 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-08 10:38:38,313 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-08 10:38:38,313 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-08 10:38:38,314 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-08 10:38:38,314 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-08 10:38:38,314 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-08 10:38:38,314 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-08 10:38:38,315 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-08 10:38:38,315 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-08 10:38:38,316 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-08 10:38:38,316 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-08 10:38:38,316 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-08 10:38:38,316 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-08 10:38:38,316 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-08 10:38:38,316 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-08 10:38:38,316 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-08 10:38:38,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:38,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1336941774] [2022-04-08 10:38:38,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1336941774] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:38,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1707263862] [2022-04-08 10:38:38,316 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:38:38,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:38,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:38,318 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-08 10:38:38,318 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-08 10:38:38,401 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:38:38,401 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:38,402 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 10:38:38,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:38,418 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:39,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {125271#true} call ULTIMATE.init(); {125271#true} is VALID [2022-04-08 10:38:39,733 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-08 10:38:39,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-08 10:38:39,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-08 10:38:39,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-08 10:38:39,733 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-08 10:38:39,733 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-08 10:38:39,733 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-08 10:38:39,733 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-08 10:38:39,734 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-08 10:38:39,734 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-08 10:38:39,735 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-08 10:38:39,735 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-08 10:38:39,736 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-08 10:38:39,736 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-08 10:38:39,737 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-08 10:38:39,737 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-08 10:38:39,738 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-08 10:38:39,738 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-08 10:38:39,739 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-08 10:38:39,739 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-08 10:38:39,740 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-08 10:38:39,740 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-08 10:38:39,740 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-08 10:38:39,741 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-08 10:38:39,741 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-08 10:38:39,741 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-08 10:38:39,742 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-08 10:38:39,742 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-08 10:38:39,742 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-08 10:38:39,743 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-08 10:38:39,743 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-08 10:38:39,743 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-08 10:38:39,744 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-08 10:38:39,745 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-08 10:38:39,745 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-08 10:38:39,746 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-08 10:38:39,746 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-08 10:38:39,747 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-08 10:38:39,747 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-08 10:38:39,748 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-08 10:38:39,748 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-08 10:38:39,748 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-08 10:38:39,748 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-08 10:38:39,749 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-08 10:38:39,749 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-08 10:38:39,750 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-08 10:38:39,750 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-08 10:38:39,750 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-08 10:38:39,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-08 10:38:39,750 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-08 10:38:39,750 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-08 10:38:39,750 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-08 10:38:39,750 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:41,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {125272#false} assume !false; {125272#false} is VALID [2022-04-08 10:38:41,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {125272#false} assume 0 == ~cond; {125272#false} is VALID [2022-04-08 10:38:41,994 INFO L290 TraceCheckUtils]: 49: Hoare triple {125272#false} ~cond := #in~cond; {125272#false} is VALID [2022-04-08 10:38:41,995 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-08 10:38:41,995 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-08 10:38:41,995 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-08 10:38:41,996 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-08 10:38:41,996 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-08 10:38:41,996 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-08 10:38:41,996 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-08 10:38:41,997 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-08 10:38:41,997 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-08 10:38:41,998 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-08 10:38:41,998 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-08 10:38:41,999 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-08 10:38:41,999 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-08 10:38:42,000 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-08 10:38:42,001 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-08 10:38:42,001 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-08 10:38:42,002 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-08 10:38:42,002 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-08 10:38:42,002 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-08 10:38:42,003 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-08 10:38:42,003 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-08 10:38:42,003 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-08 10:38:42,004 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-08 10:38:42,004 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-08 10:38:42,004 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-08 10:38:42,005 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-08 10:38:42,005 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-08 10:38:42,005 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-08 10:38:42,006 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-08 10:38:42,006 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-08 10:38:42,007 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-08 10:38:42,007 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-08 10:38:42,008 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-08 10:38:42,008 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-08 10:38:42,009 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-08 10:38:42,009 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-08 10:38:42,010 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-08 10:38:42,010 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-08 10:38:42,011 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-08 10:38:42,011 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-08 10:38:42,011 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-08 10:38:42,012 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-08 10:38:42,012 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-08 10:38:42,012 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-08 10:38:42,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {125271#true} call #t~ret10 := main(); {125271#true} is VALID [2022-04-08 10:38:42,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125271#true} {125271#true} #117#return; {125271#true} is VALID [2022-04-08 10:38:42,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {125271#true} assume true; {125271#true} is VALID [2022-04-08 10:38:42,012 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-08 10:38:42,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {125271#true} call ULTIMATE.init(); {125271#true} is VALID [2022-04-08 10:38:42,012 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-08 10:38:42,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1707263862] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:42,012 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:42,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-08 10:38:42,013 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:42,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1237237069] [2022-04-08 10:38:42,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1237237069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:42,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:42,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:38:42,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1739620997] [2022-04-08 10:38:42,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:42,013 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-08 10:38:42,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:42,013 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-08 10:38:42,048 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-08 10:38:42,048 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:38:42,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:42,049 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:38:42,049 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-08 10:38:42,049 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-08 10:38:56,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:56,141 INFO L93 Difference]: Finished difference Result 634 states and 721 transitions. [2022-04-08 10:38:56,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:38:56,141 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-08 10:38:56,141 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:56,141 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-08 10:38:56,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 177 transitions. [2022-04-08 10:38:56,142 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-08 10:38:56,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 177 transitions. [2022-04-08 10:38:56,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 177 transitions. [2022-04-08 10:38:56,285 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-08 10:38:56,305 INFO L225 Difference]: With dead ends: 634 [2022-04-08 10:38:56,305 INFO L226 Difference]: Without dead ends: 622 [2022-04-08 10:38:56,310 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 914 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=343, Invalid=6299, Unknown=0, NotChecked=0, Total=6642 [2022-04-08 10:38:56,310 INFO L913 BasicCegarLoop]: 108 mSDtfsCounter, 221 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 3411 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:56,310 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [238 Valid, 220 Invalid, 3436 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 3411 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-08 10:38:56,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-08 10:39:04,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 620. [2022-04-08 10:39:04,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:04,502 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-08 10:39:04,502 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-08 10:39:04,503 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-08 10:39:04,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:04,518 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-08 10:39:04,518 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-08 10:39:04,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:04,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:04,521 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-08 10:39:04,521 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-08 10:39:04,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:04,536 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-08 10:39:04,536 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-08 10:39:04,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:04,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:04,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:04,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:04,539 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-08 10:39:04,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 620 states to 620 states and 703 transitions. [2022-04-08 10:39:04,557 INFO L78 Accepts]: Start accepts. Automaton has 620 states and 703 transitions. Word has length 52 [2022-04-08 10:39:04,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:04,557 INFO L478 AbstractCegarLoop]: Abstraction has 620 states and 703 transitions. [2022-04-08 10:39:04,557 INFO L479 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-08 10:39:04,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 620 states and 703 transitions. [2022-04-08 10:39:06,197 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-08 10:39:06,198 INFO L276 IsEmpty]: Start isEmpty. Operand 620 states and 703 transitions. [2022-04-08 10:39:06,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 10:39:06,201 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:06,201 INFO L499 BasicCegarLoop]: 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-08 10:39:06,218 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-08 10:39:06,402 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable67 [2022-04-08 10:39:06,402 INFO L403 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:06,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:06,402 INFO L85 PathProgramCache]: Analyzing trace with hash -765588306, now seen corresponding path program 117 times [2022-04-08 10:39:06,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:06,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [396643614] [2022-04-08 10:39:06,404 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:06,404 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:06,404 INFO L85 PathProgramCache]: Analyzing trace with hash -765588306, now seen corresponding path program 118 times [2022-04-08 10:39:06,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:06,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1815884569] [2022-04-08 10:39:06,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:06,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:06,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:06,431 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:06,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:06,433 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-08 10:39:06,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:06,433 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-08 10:39:06,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:06,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:06,524 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-08 10:39:06,525 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-08 10:39:06,526 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-08 10:39:06,526 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-08 10:39:06,527 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-08 10:39:06,527 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-08 10:39:06,528 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-08 10:39:06,528 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-08 10:39:06,528 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-08 10:39:06,529 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-08 10:39:06,529 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-08 10:39:06,530 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-08 10:39:06,531 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-08 10:39:06,531 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-08 10:39:06,532 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-08 10:39:06,532 INFO L290 TraceCheckUtils]: 15: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-08 10:39:06,532 INFO L290 TraceCheckUtils]: 16: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-08 10:39:06,532 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-08 10:39:06,532 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 10:39:06,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:06,541 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 INFO L290 TraceCheckUtils]: 6: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-08 10:39:06,542 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-08 10:39:06,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-08 10:39:06,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 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-08 10:39:06,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-08 10:39:06,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-08 10:39:06,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:06,543 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-08 10:39:06,543 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-08 10:39:06,543 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-08 10:39:06,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:06,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-08 10:39:06,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-08 10:39:06,543 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-08 10:39:06,543 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-08 10:39:06,543 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-08 10:39:06,544 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-08 10:39:06,544 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-08 10:39:06,545 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-08 10:39:06,545 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-08 10:39:06,545 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-08 10:39:06,546 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-08 10:39:06,546 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-08 10:39:06,546 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-08 10:39:06,547 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-08 10:39:06,547 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-08 10:39:06,547 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-08 10:39:06,548 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-08 10:39:06,548 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-08 10:39:06,549 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-08 10:39:06,549 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-08 10:39:06,549 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-08 10:39:06,549 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-08 10:39:06,549 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-08 10:39:06,549 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-08 10:39:06,549 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-08 10:39:06,549 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 INFO L290 TraceCheckUtils]: 34: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-08 10:39:06,550 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-08 10:39:06,550 INFO L290 TraceCheckUtils]: 36: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-08 10:39:06,550 INFO L290 TraceCheckUtils]: 37: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,550 INFO L290 TraceCheckUtils]: 43: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-08 10:39:06,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-08 10:39:06,550 INFO L290 TraceCheckUtils]: 45: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:06,550 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-08 10:39:06,550 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-08 10:39:06,550 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-08 10:39:06,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-08 10:39:06,551 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-08 10:39:06,551 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-08 10:39:06,551 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-08 10:39:06,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:06,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1815884569] [2022-04-08 10:39:06,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1815884569] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:06,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1882970996] [2022-04-08 10:39:06,551 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:39:06,551 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:06,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:06,553 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-08 10:39:06,554 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-08 10:39:06,638 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:39:06,638 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:06,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 10:39:06,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:06,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:06,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {129477#true} call ULTIMATE.init(); {129477#true} is VALID [2022-04-08 10:39:06,873 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-08 10:39:06,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:06,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-08 10:39:06,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-08 10:39:06,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-08 10:39:06,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-08 10:39:06,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-08 10:39:06,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-08 10:39:06,875 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-08 10:39:06,875 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-08 10:39:06,875 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-08 10:39:06,876 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-08 10:39:06,876 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-08 10:39:06,876 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-08 10:39:06,877 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-08 10:39:06,877 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-08 10:39:06,877 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-08 10:39:06,878 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-08 10:39:06,878 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-08 10:39:06,879 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-08 10:39:06,879 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-08 10:39:06,880 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-08 10:39:06,880 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-08 10:39:06,880 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-08 10:39:06,880 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,880 INFO L290 TraceCheckUtils]: 34: Hoare triple {129478#false} assume !(~b~1 < ~n); {129478#false} is VALID [2022-04-08 10:39:06,880 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-08 10:39:06,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {129478#false} assume !(~l~1 < ~m); {129478#false} is VALID [2022-04-08 10:39:06,880 INFO L290 TraceCheckUtils]: 37: Hoare triple {129478#false} ~x~1 := 0;~y~1 := 0; {129478#false} is VALID [2022-04-08 10:39:06,880 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-08 10:39:06,880 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-08 10:39:06,881 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-08 10:39:06,881 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-08 10:39:06,881 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-08 10:39:06,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {129478#false} assume !(~x~1 < ~i~1); {129478#false} is VALID [2022-04-08 10:39:06,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {129478#false} #res := ~y~1; {129478#false} is VALID [2022-04-08 10:39:06,881 INFO L290 TraceCheckUtils]: 45: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-08 10:39:06,881 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129478#false} {129478#false} #113#return; {129478#false} is VALID [2022-04-08 10:39:06,881 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-08 10:39:06,881 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-08 10:39:06,881 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-08 10:39:06,881 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-08 10:39:06,881 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-08 10:39:06,881 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-08 10:39:06,881 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:07,063 INFO L290 TraceCheckUtils]: 51: Hoare triple {129478#false} assume !false; {129478#false} is VALID [2022-04-08 10:39:07,063 INFO L290 TraceCheckUtils]: 50: Hoare triple {129478#false} assume 0 == ~cond; {129478#false} is VALID [2022-04-08 10:39:07,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {129478#false} ~cond := #in~cond; {129478#false} is VALID [2022-04-08 10:39:07,063 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-08 10:39:07,064 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-08 10:39:07,064 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {129477#true} {129478#false} #113#return; {129478#false} is VALID [2022-04-08 10:39:07,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:07,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {129477#true} #res := ~y~1; {129477#true} is VALID [2022-04-08 10:39:07,064 INFO L290 TraceCheckUtils]: 43: Hoare triple {129477#true} assume !(~x~1 < ~i~1); {129477#true} is VALID [2022-04-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 INFO L290 TraceCheckUtils]: 37: Hoare triple {129477#true} ~x~1 := 0;~y~1 := 0; {129477#true} is VALID [2022-04-08 10:39:07,064 INFO L290 TraceCheckUtils]: 36: Hoare triple {129477#true} assume !(~l~1 < ~m); {129477#true} is VALID [2022-04-08 10:39:07,064 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-08 10:39:07,064 INFO L290 TraceCheckUtils]: 34: Hoare triple {129477#true} assume !(~b~1 < ~n); {129477#true} is VALID [2022-04-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,064 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-08 10:39:07,065 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-08 10:39:07,065 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-08 10:39:07,065 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-08 10:39:07,065 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-08 10:39:07,065 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {129478#false} {129477#true} #111#return; {129478#false} is VALID [2022-04-08 10:39:07,065 INFO L290 TraceCheckUtils]: 24: Hoare triple {129478#false} assume true; {129478#false} is VALID [2022-04-08 10:39:07,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {129478#false} #res := ~y~0; {129478#false} is VALID [2022-04-08 10:39:07,065 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-08 10:39:07,066 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-08 10:39:07,066 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-08 10:39:07,067 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-08 10:39:07,067 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-08 10:39:07,067 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-08 10:39:07,068 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-08 10:39:07,068 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-08 10:39:07,068 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-08 10:39:07,069 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-08 10:39:07,069 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-08 10:39:07,069 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-08 10:39:07,070 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-08 10:39:07,070 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-08 10:39:07,071 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-08 10:39:07,071 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-08 10:39:07,071 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-08 10:39:07,071 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-08 10:39:07,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {129477#true} call #t~ret10 := main(); {129477#true} is VALID [2022-04-08 10:39:07,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129477#true} {129477#true} #117#return; {129477#true} is VALID [2022-04-08 10:39:07,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {129477#true} assume true; {129477#true} is VALID [2022-04-08 10:39:07,071 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-08 10:39:07,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {129477#true} call ULTIMATE.init(); {129477#true} is VALID [2022-04-08 10:39:07,071 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-08 10:39:07,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1882970996] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:07,071 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:07,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-08 10:39:07,072 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:07,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [396643614] [2022-04-08 10:39:07,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [396643614] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:07,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:07,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:39:07,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [879898427] [2022-04-08 10:39:07,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:07,072 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-08 10:39:07,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:07,072 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-08 10:39:07,099 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-08 10:39:07,099 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:39:07,099 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:07,099 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:39:07,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:39:07,099 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-08 10:39:16,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:16,135 INFO L93 Difference]: Finished difference Result 944 states and 1054 transitions. [2022-04-08 10:39:16,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:39:16,135 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-08 10:39:16,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:16,135 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-08 10:39:16,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-08 10:39:16,136 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-08 10:39:16,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-08 10:39:16,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 111 transitions. [2022-04-08 10:39:16,213 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-08 10:39:16,237 INFO L225 Difference]: With dead ends: 944 [2022-04-08 10:39:16,238 INFO L226 Difference]: Without dead ends: 617 [2022-04-08 10:39:16,241 INFO L912 BasicCegarLoop]: 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-08 10:39:16,242 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 75 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:16,242 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 80 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:39:16,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 617 states. [2022-04-08 10:39:24,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 617 to 609. [2022-04-08 10:39:24,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:24,450 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-08 10:39:24,451 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-08 10:39:24,451 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-08 10:39:24,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:24,466 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-08 10:39:24,466 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-08 10:39:24,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:24,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:24,469 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-08 10:39:24,469 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-08 10:39:24,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:24,483 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-08 10:39:24,483 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-08 10:39:24,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:24,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:24,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:24,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:24,486 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-08 10:39:24,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 686 transitions. [2022-04-08 10:39:24,504 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 686 transitions. Word has length 52 [2022-04-08 10:39:24,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:24,504 INFO L478 AbstractCegarLoop]: Abstraction has 609 states and 686 transitions. [2022-04-08 10:39:24,504 INFO L479 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-08 10:39:24,504 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 609 states and 686 transitions. [2022-04-08 10:39:26,129 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-08 10:39:26,130 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 686 transitions. [2022-04-08 10:39:26,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 10:39:26,133 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:26,133 INFO L499 BasicCegarLoop]: 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-08 10:39:26,149 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-08 10:39:26,333 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable68 [2022-04-08 10:39:26,334 INFO L403 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:26,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:26,334 INFO L85 PathProgramCache]: Analyzing trace with hash 295087821, now seen corresponding path program 119 times [2022-04-08 10:39:26,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:26,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [411283843] [2022-04-08 10:39:26,336 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:26,336 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:26,337 INFO L85 PathProgramCache]: Analyzing trace with hash 295087821, now seen corresponding path program 120 times [2022-04-08 10:39:26,337 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:26,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2011779002] [2022-04-08 10:39:26,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:26,337 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:26,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:26,363 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:26,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:26,365 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-08 10:39:26,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,365 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-08 10:39:26,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:26,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-08 10:39:26,371 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-08 10:39:26,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-08 10:39:26,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,371 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-08 10:39:26,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-08 10:39:26,372 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-08 10:39:26,372 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,372 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-08 10:39:26,372 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:39:26,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:26,450 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-08 10:39:26,451 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-08 10:39:26,451 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-08 10:39:26,452 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-08 10:39:26,452 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-08 10:39:26,453 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-08 10:39:26,453 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-08 10:39:26,453 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-08 10:39:26,454 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-08 10:39:26,454 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-08 10:39:26,454 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-08 10:39:26,455 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-08 10:39:26,455 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-08 10:39:26,456 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-08 10:39:26,456 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-08 10:39:26,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-08 10:39:26,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-08 10:39:26,456 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-08 10:39:26,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 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-08 10:39:26,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-08 10:39:26,457 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-08 10:39:26,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-08 10:39:26,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-08 10:39:26,457 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-08 10:39:26,458 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-08 10:39:26,458 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-08 10:39:26,458 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-08 10:39:26,458 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-08 10:39:26,458 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-08 10:39:26,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-08 10:39:26,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,458 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-08 10:39:26,458 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-08 10:39:26,458 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-08 10:39:26,458 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-08 10:39:26,459 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-08 10:39:26,459 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-08 10:39:26,460 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-08 10:39:26,460 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-08 10:39:26,460 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-08 10:39:26,461 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-08 10:39:26,461 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-08 10:39:26,461 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-08 10:39:26,462 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-08 10:39:26,462 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-08 10:39:26,462 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-08 10:39:26,463 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-08 10:39:26,463 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-08 10:39:26,464 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-08 10:39:26,464 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-08 10:39:26,464 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-08 10:39:26,464 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-08 10:39:26,464 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-08 10:39:26,464 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-08 10:39:26,464 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-08 10:39:26,464 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-08 10:39:26,464 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-08 10:39:26,464 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-08 10:39:26,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:26,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2011779002] [2022-04-08 10:39:26,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2011779002] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:26,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [243694152] [2022-04-08 10:39:26,464 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:39:26,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:26,465 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:26,466 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-08 10:39:26,470 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-08 10:39:26,557 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:39:26,557 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:26,558 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 10:39:26,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:26,570 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:26,814 INFO L272 TraceCheckUtils]: 0: Hoare triple {134229#true} call ULTIMATE.init(); {134229#true} is VALID [2022-04-08 10:39:26,814 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-08 10:39:26,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-08 10:39:26,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-08 10:39:26,814 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-08 10:39:26,815 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-08 10:39:26,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-08 10:39:26,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 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-08 10:39:26,815 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-08 10:39:26,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-08 10:39:26,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:26,816 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-08 10:39:26,816 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-08 10:39:26,816 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-08 10:39:26,816 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-08 10:39:26,817 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-08 10:39:26,817 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-08 10:39:26,817 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-08 10:39:26,818 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-08 10:39:26,818 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-08 10:39:26,818 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-08 10:39:26,819 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-08 10:39:26,819 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-08 10:39:26,819 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-08 10:39:26,820 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-08 10:39:26,820 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-08 10:39:26,821 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-08 10:39:26,821 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-08 10:39:26,822 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-08 10:39:26,822 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-08 10:39:26,822 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-08 10:39:26,822 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-08 10:39:26,822 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-08 10:39:26,822 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-08 10:39:26,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-08 10:39:26,822 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-08 10:39:26,822 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-08 10:39:26,822 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-08 10:39:26,822 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:27,003 INFO L290 TraceCheckUtils]: 51: Hoare triple {134230#false} assume !false; {134230#false} is VALID [2022-04-08 10:39:27,003 INFO L290 TraceCheckUtils]: 50: Hoare triple {134230#false} assume 0 == ~cond; {134230#false} is VALID [2022-04-08 10:39:27,003 INFO L290 TraceCheckUtils]: 49: Hoare triple {134230#false} ~cond := #in~cond; {134230#false} is VALID [2022-04-08 10:39:27,003 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-08 10:39:27,003 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-08 10:39:27,003 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {134230#false} {134229#true} #113#return; {134230#false} is VALID [2022-04-08 10:39:27,003 INFO L290 TraceCheckUtils]: 45: Hoare triple {134230#false} assume true; {134230#false} is VALID [2022-04-08 10:39:27,004 INFO L290 TraceCheckUtils]: 44: Hoare triple {134230#false} #res := ~y~1; {134230#false} is VALID [2022-04-08 10:39:27,004 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-08 10:39:27,004 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-08 10:39:27,005 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-08 10:39:27,005 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-08 10:39:27,006 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-08 10:39:27,006 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-08 10:39:27,006 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-08 10:39:27,007 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-08 10:39:27,007 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-08 10:39:27,007 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-08 10:39:27,008 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-08 10:39:27,008 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-08 10:39:27,008 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-08 10:39:27,009 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-08 10:39:27,009 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-08 10:39:27,009 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-08 10:39:27,009 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-08 10:39:27,009 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {134229#true} {134229#true} #111#return; {134229#true} is VALID [2022-04-08 10:39:27,009 INFO L290 TraceCheckUtils]: 25: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:27,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {134229#true} #res := ~y~0; {134229#true} is VALID [2022-04-08 10:39:27,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {134229#true} assume !(~x~0 < ~i~0); {134229#true} is VALID [2022-04-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {134229#true} ~x~0 := 0;~y~0 := 0; {134229#true} is VALID [2022-04-08 10:39:27,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {134229#true} assume !(~l~0 < ~m); {134229#true} is VALID [2022-04-08 10:39:27,010 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-08 10:39:27,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {134229#true} assume !(~b~0 < ~n); {134229#true} is VALID [2022-04-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,010 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-08 10:39:27,011 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-08 10:39:27,011 INFO L272 TraceCheckUtils]: 4: Hoare triple {134229#true} call #t~ret10 := main(); {134229#true} is VALID [2022-04-08 10:39:27,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {134229#true} {134229#true} #117#return; {134229#true} is VALID [2022-04-08 10:39:27,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {134229#true} assume true; {134229#true} is VALID [2022-04-08 10:39:27,011 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-08 10:39:27,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {134229#true} call ULTIMATE.init(); {134229#true} is VALID [2022-04-08 10:39:27,011 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-08 10:39:27,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [243694152] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:27,011 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:27,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-08 10:39:27,011 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:27,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [411283843] [2022-04-08 10:39:27,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [411283843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:27,011 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:27,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:39:27,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576196398] [2022-04-08 10:39:27,012 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:27,012 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-08 10:39:27,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:27,012 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-08 10:39:27,038 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-08 10:39:27,038 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:39:27,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:27,039 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:39:27,039 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:39:27,039 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-08 10:39:36,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:36,046 INFO L93 Difference]: Finished difference Result 651 states and 736 transitions. [2022-04-08 10:39:36,046 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:39:36,046 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-08 10:39:36,047 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:36,047 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-08 10:39:36,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-08 10:39:36,047 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-08 10:39:36,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-08 10:39:36,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 98 transitions. [2022-04-08 10:39:36,117 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-08 10:39:36,137 INFO L225 Difference]: With dead ends: 651 [2022-04-08 10:39:36,137 INFO L226 Difference]: Without dead ends: 618 [2022-04-08 10:39:36,142 INFO L912 BasicCegarLoop]: 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-08 10:39:36,142 INFO L913 BasicCegarLoop]: 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-08 10:39:36,142 INFO L914 BasicCegarLoop]: 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-08 10:39:36,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 618 states. [2022-04-08 10:39:44,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 618 to 618. [2022-04-08 10:39:44,544 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:44,544 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-08 10:39:44,545 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-08 10:39:44,545 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-08 10:39:44,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:44,560 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-08 10:39:44,560 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-08 10:39:44,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:44,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:44,563 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-08 10:39:44,563 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-08 10:39:44,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:44,583 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-08 10:39:44,583 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-08 10:39:44,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:44,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:44,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:44,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:44,587 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-08 10:39:44,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 695 transitions. [2022-04-08 10:39:44,606 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 695 transitions. Word has length 52 [2022-04-08 10:39:44,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:44,607 INFO L478 AbstractCegarLoop]: Abstraction has 618 states and 695 transitions. [2022-04-08 10:39:44,607 INFO L479 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-08 10:39:44,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 695 transitions. [2022-04-08 10:39:46,256 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-08 10:39:46,256 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-08 10:39:46,259 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 10:39:46,259 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:46,260 INFO L499 BasicCegarLoop]: 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-08 10:39:46,276 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-08 10:39:46,460 WARN L460 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-08 10:39:46,460 INFO L403 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:46,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:46,460 INFO L85 PathProgramCache]: Analyzing trace with hash 715381933, now seen corresponding path program 121 times [2022-04-08 10:39:46,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:46,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [141906299] [2022-04-08 10:39:46,462 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:46,463 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:46,463 INFO L85 PathProgramCache]: Analyzing trace with hash 715381933, now seen corresponding path program 122 times [2022-04-08 10:39:46,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:46,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621186356] [2022-04-08 10:39:46,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:46,463 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:46,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:46,547 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:46,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:46,549 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-08 10:39:46,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {138415#true} assume true; {138415#true} is VALID [2022-04-08 10:39:46,549 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {138415#true} {138415#true} #117#return; {138415#true} is VALID [2022-04-08 10:39:46,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:46,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat